Commit Graph

2350 Commits

Author SHA1 Message Date
Stanislav Malyshev
b75ffba9bb Fix standard object creation 2002-03-12 11:28:30 +00:00
Stanislav Malyshev
92dd5e611b - make class tables contain class_entry *, not class_entry
- fix isset($this)
2002-03-12 10:08:47 +00:00
aef0ea1beb ChangeLog update 2002-03-11 01:20:33 +00:00
Andi Gutmans
d77ff9607e - Fix build in ZTS mode. 2002-03-10 21:02:00 +00:00
Stanislav Malyshev
04ed2b520f New stuff for objects API:
- Better assignment handling
- More flexible operations with zval-containing objects
2002-03-10 13:42:37 +00:00
61eb6fb4b6 ChangeLog update 2002-03-10 01:19:17 +00:00
Andi Gutmans
1229705743 - Add the original example script to the CVS so that it's always available. 2002-03-09 16:25:51 +00:00
aae9a035c5 ChangeLog update 2002-03-09 01:19:56 +00:00
Sebastian Bergmann
2f010abe51 Add 'import const' example. 2002-03-08 11:36:56 +00:00
Andi Gutmans
90f6005f58 - Support importing constants. e.g.:
<?php

	class MyOuterClass {
		const Hello = "Hello, World\n";
	}

	import const Hello from MyOuterClass;
	print Hello;
2002-03-08 10:58:24 +00:00
2139ba0922 ChangeLog update 2002-03-08 01:20:50 +00:00
Sebastian Bergmann
0e17eea049 Add another 'import' example and merge 'import' section into 'Namespaces' section. 2002-03-07 10:31:51 +00:00
01d0e7ec15 ChangeLog update 2002-03-07 01:21:51 +00:00
Andi Gutmans
83f102fd9f - Add function * and class * functionality. Only constants are left.
<?php

	class MyOuterClass {
		class MyInnerClass {
			function func1()
			{
				print "func1()\n";
			}

			function func2()
			{
				print "func2()\n";
			}
		}
	}

	import class * from MyOuterClass;
	import function func2 from MyOuterClass::MyInnerClass;

	MyInnerClass::func1();
	func2();
2002-03-06 17:08:26 +00:00
a97fc9703c ChangeLog update 2002-03-03 01:20:44 +00:00
Sebastian Bergmann
3930d70fba Consistency. 2002-03-02 22:26:17 +00:00
Sebastian Bergmann
3b7435fc51 Add 'import statement' section. 2002-03-02 22:24:46 +00:00
Andi Gutmans
b90d80b588 - Initial patch to support importing from class scopes (for Stig).
- It isn't complete yet but I want to work on it from another machine. It
- shouldn't break anything else so just don't try and use it.
- The following is a teaser of something that already works:
<?php

	class MyClass
	{
		function hello()
		{
			print "Hello, World\n";
		}
		class MyClass2
		{
			function hello()
			{
				print "Hello, World in MyClass2\n";
			}
		}
	}

	import function hello, class MyClass2 from MyClass;

	MyClass2::hello();
	hello();
?>
2002-03-02 20:38:52 +00:00
Derick Rethans
1f9464e345 - MFZE1 2002-03-02 13:48:13 +00:00
Derick Rethans
0c6be86747 - MFZE1 2002-03-02 13:26:37 +00:00
8ff2ad53f2 ChangeLog update 2002-03-02 01:20:39 +00:00
Andrei Zmievski
a8609b1ba7 MFZE1 2002-03-01 17:34:52 +00:00
Andrei Zmievski
2310414868 MFZE1 2002-03-01 17:26:31 +00:00
Andi Gutmans
90bd4539c7 - Remove use of C++ reserved words namespace/this 2002-03-01 14:27:26 +00:00
Andi Gutmans
d1eea3de9c - Fix bug in nested try/catch's
- Infrastructure for implementing imports of methods.
2002-03-01 14:04:51 +00:00
Andi Gutmans
2505f6b400 - Fix crash reported by Sebastian when destructor function causes a fatal
- error. I hope this does it and we don't find any other problems.
2002-03-01 10:26:10 +00:00
71139b307d ChangeLog update 2002-02-27 01:33:13 +00:00
Andi Gutmans
7df1601239 - MFZE1 2002-02-26 19:17:26 +00:00
8ca013f2ae ChangeLog update 2002-02-22 01:29:52 +00:00
Sebastian Bergmann
6a59c7fcd3 Maintain ZEND_CHANGES to account for the addition of private member variables. 2002-02-21 13:10:31 +00:00
Andi Gutmans
00e90f2ff3 - Experimental support for private members.
<?
	class MyClass {
		private $Hello = "Hello, World!\n";

		function printHello()
		{
			print $this->Hello;
		}
	}

	class MyClass2 extends MyClass {
		function printHello()
		{
			MyClass::printHello(); /* Should print */
			print $this->Hello; /* Shouldn't print out anything */
		}
	}

	$obj = new MyClass();
	print $obj->Hello; /* Shouldn't print out anything */
	$obj->printHello(); /* Should print */

	$obj = new MyClass2();
	print $obj->Hello; /* Shouldn't print out anything */
	$obj->printHello();
?>
2002-02-21 11:50:44 +00:00
37a929e5dd ChangeLog update 2002-02-15 01:22:47 +00:00
Stanislav Malyshev
cefbdccb98 Pass TSRM to create_object 2002-02-14 09:20:51 +00:00
Andrei Zmievski
68a82f14a2 Fix the bug where the declared properties without init values were not
entered into the table.
2002-02-14 04:01:53 +00:00
6578efea09 ChangeLog update 2002-02-14 01:20:35 +00:00
Andi Gutmans
21b04ff2a6 @ Allow a series of consecutive catch() statements (Andi, Zend Engine)
<?php
	class MyException1 {

	}

	class MyException2 {

	}

	try {
		throw new MyException2();
	} catch (MyException1 $m) {
		print "Caught MyException1";
	} catch (MyException2 $m) {
		print "Caught MyException2";
	}
2002-02-13 19:26:07 +00:00
3b01fd8973 Adding automagically updated ChangeLog. 2002-02-12 17:28:41 +00:00
Sebastian Bergmann
1fd542fd38 Export lex_scan(). Both the PHPDoc and tokenizer extension need this. I hope this is okay with Z&A. 2002-02-10 12:54:02 +00:00
Andi Gutmans
b04238698f - Remove object debug messages. 2002-02-08 00:22:37 +00:00
Stanislav Malyshev
6608f07322 Mega-commit: Enter the new object model
Note: only standard Zend objects are working now. This is definitely going to
break custom objects like COM, Java, etc. - this will be fixed later.
Also, this may break other things that access objects' internals directly.
2002-02-07 14:08:43 +00:00
Andi Gutmans
8535164f21 - This small patch should also take care of allowing unseting of $this->foo
- and static members. The unset() opcode was luckily already suitable for
- object overloading.
2002-02-04 20:44:24 +00:00
Andi Gutmans
e366f5dbd8 - Fix problem with the objects_destructor called during shutdown. It was
- freeing objects from id 0 instead of id 1. id 0 is not used.
- Change isset/empty opcodes to support static members and the new way of
- doing $this->foobar. Also the opcodes operate now on the hash table
- combined with the variable names so that they can be overloaded by the
- soon to be added overloading patch.
2002-02-04 19:29:56 +00:00
Adam Dickmeiss
4935636521 Zend config sets ZEND_EXTRA_LIBS. Bugs 14452, 14602, 14616, 14824 2002-02-03 20:42:10 +00:00
Sebastian Bergmann
cb2124be7c Revert per Andi's request. Sorry :-( 2002-02-02 19:55:21 +00:00
Sebastian Bergmann
fd884e2bea Fix warning. Again :-) 2002-02-02 19:47:24 +00:00
Andi Gutmans
2c95fc2d55 - Please don't use strcmp() and friends in Zend but only the mem*
- functions. I didn't check this patch so please check that it works.
2002-02-02 19:35:18 +00:00
Sebastian Bergmann
86469a0dfb Fix a warning. 2002-02-02 19:18:25 +00:00
Andi Gutmans
180f91bac8 - Nice catch by Derick. GINIT is dead. 2002-02-02 16:56:17 +00:00
Sebastian Bergmann
031784c687 MFZE1: is_a() 2002-02-01 22:55:02 +00:00
Sebastian Bergmann
55cdbf3a6d MFZE1: define a couple of macros under win32. (Patch By: Jon Parise <jon@php.net>) 2002-01-27 20:20:19 +00:00
Andi Gutmans
7309a6ed21 - First destructor hell fix. There was a situation where an object's
- destructor could be run after its class was already dead. Right now
- object destructors is the first thing whic happens during shutdown in
- order to prevent this problem. It's very likely that destructors will
- cause more grief and we'll have to outline exactly when you should use
- them and what kind of logic you're allowed to do inside of them.
- This bug was reported by sebastian.
2002-01-25 12:55:03 +00:00
Andi Gutmans
c2b73faade - Fix a bug reported by Sebastian with indirect class names not working. 2002-01-22 18:02:52 +00:00
Andi Gutmans
2131b019c7 - Improve performance of functions that use $GLOBALS[]
- Please check this and make sure it doesn't break anything.
2002-01-20 20:42:15 +00:00
Thies C. Arntzen
a0ab80ab80 MFZE1 2002-01-19 10:35:51 +00:00
Andi Gutmans
65f01545a8 - Fix crash bug in call_user_function_ex(). Thanks to Sebastian for the
- very nice and short reproducing script.
<?php
	$array = array('foo', 'bar');

	uasort($array, 'cmp');

	function cmp($a, $b)
	{
		return (strcmp($a[1], $b[1]));
	}
?>
2002-01-14 16:55:23 +00:00
Sebastian Bergmann
7e1957044d Update Exceptions example. 2002-01-14 12:14:18 +00:00
Andi Gutmans
f1e8815c26 - Change exception handling to use the Java-like catch(MyException $exception)
- semantics. Example:
<?php

	class MyException {
		function __construct($exception)
		{
			$this->exception = $exception;
		}

		function Display()
		{
			print "MyException: $this->exception\n";
		}

	}
	class MyExceptionFoo extends MyException {
		function __construct($exception)
		{
			$this->exception = $exception;
		}
		function Display()
		{
			print "MyException: $this->exception\n";
		}
	}

	try {
		throw  new MyExceptionFoo("Hello");
	} catch (MyException $exception) {
		$exception->Display();
	}
?>
2002-01-13 20:21:55 +00:00
Andi Gutmans
1f2f2571e4 - MFZE1 2002-01-13 17:51:18 +00:00
Andi Gutmans
b9355b9a11 - Output error when there's an uncaught exception (by Timm Friebe) 2002-01-06 20:30:41 +00:00
Andi Gutmans
0f398e4d4a - Make sure $this is passed on to methods 2002-01-06 19:52:22 +00:00
Sebastian Bergmann
62dc854bb0 Happy New Year. 2002-01-06 15:21:36 +00:00
Andi Gutmans
e1876cba4d - Small fix 2002-01-05 20:55:56 +00:00
Andi Gutmans
e56fb1639b - Allow passing of $this as function arguments.
- Fix a bug which I introduced a couple of months ago
2002-01-05 19:59:09 +00:00
Andi Gutmans
a4248dd584 - Significantly improve the performance of method calls and $this->member
- lookups.
2002-01-05 15:18:30 +00:00
Andi Gutmans
eb08cb956b - Improve performance of indirect-referenced function calls 2002-01-04 09:21:16 +00:00
Andi Gutmans
878f78a6d6 - Nuke C++ comments 2002-01-04 08:07:39 +00:00
Andi Gutmans
6203a250f7 - Separate other kinds of function calls too.
- Significantly improve performance of function calls by moving lowercasing
- the function name to compile-time when possible.
2002-01-04 08:05:21 +00:00
Andi Gutmans
0ab9d11225 - Start splitting up different kinds of function calls into different
- opcodes.
2002-01-04 06:44:19 +00:00
Derick Rethans
9b391a83c2 - MFZE1 for exit fix, exposing current function name in error messages and
exposing zend_zval_type_name().
2002-01-03 14:19:13 +00:00
Sebastian Bergmann
7c2fef7020 Consistency. 2001-12-31 07:50:42 +00:00
Andi Gutmans
c54f216ecd - Add example of default argument for argument passed by-ref 2001-12-31 05:28:18 +00:00
Sebastian Bergmann
4af1b42bc0 Typo. 2001-12-30 10:43:27 +00:00
Andi Gutmans
8a0c756c58 - #define to help #ifdef stuff in PHP sources to make them work w/ ZE1 and
- 2
2001-12-29 18:07:08 +00:00
Andi Gutmans
c6f1e68e75 - A few clarifications 2001-12-29 09:48:07 +00:00
Sebastian Bergmann
1d4793e5e8 Integrate Andi's examples and some notes by Stig. 2001-12-29 09:21:54 +00:00
Sebastian Bergmann
76cfd48f72 Update Exceptions example. 2001-12-29 08:17:57 +00:00
Andi Gutmans
ae1a702501 - Fix some case insensitivity stuff in respect to classes 2001-12-28 16:36:04 +00:00
Andi Gutmans
b14f6cf79f - Support default arguments for reference parameters
- Fix two compile warnings
2001-12-28 13:28:33 +00:00
Andi Gutmans
9a83837391 - Wasn't adding the lower case version of the class name to the hash 2001-12-28 13:18:19 +00:00
Andi Gutmans
e322abdd63 - Use two underscores for __construct(), __clone and friends... 2001-12-27 16:35:07 +00:00
Andi Gutmans
3d89072c7e - Only check refcount of object if the destructor was called. 2001-12-27 14:44:39 +00:00
Andi Gutmans
73b159e056 - Experimental support for destructors. We need to see if destructors
- will actually work well in the context of PHP so we should consider this
- as experimental. Possible problems might be that when the constructor is
- run PHP might not be in a stable state.
2001-12-27 14:35:09 +00:00
Andi Gutmans
b3fd2faac0 - Support parent:: again 2001-12-27 13:12:45 +00:00
Andi Gutmans
a5f7a383bf - Support unified constructor name _construct() 2001-12-27 12:23:03 +00:00
Andi Gutmans
5cb454a8ad - Fix scoping issue. The following works now:
<?
	class MyClass {
		static $id = 0;

		function MyClass()
		{
			$this->id = self::$id++;
		}

		function _clone()
		{
			$this->name = $clone->name;
			$this->address = "New York";
			$this->id = self::$id++;
		}
	}



	$obj = new MyClass();

	$obj->name = "Hello";
	$obj->address = "Tel-Aviv";

	print $obj->id;
	print "\n";

	$obj = $obj->_clone();

	print $obj->id;
	print "\n";
	print $obj->name;
	print "\n";
	print $obj->address;
	print "\n";
2001-12-26 20:17:34 +00:00
Andi Gutmans
b04acdadf4 - Print out object id for easier debugging 2001-12-26 20:06:06 +00:00
Andi Gutmans
29ea3da2f8 - Pretty much finish _clone() support 2001-12-26 19:54:20 +00:00
Andi Gutmans
2ce4b47657 - Initial support for _clone() 2001-12-26 17:49:22 +00:00
Andi Gutmans
f85c818fe8 - Start fixing the parsing rules so that function and method calls
- can't be used in a write context.
2001-12-26 14:46:18 +00:00
Andi Gutmans
76b9acc165 - Fix crash correctly. 2001-12-26 11:18:00 +00:00
Andi Gutmans
e1e02af55b - Revert delete syntax patch 2001-12-25 17:10:58 +00:00
Andi Gutmans
ee44180fc6 - Fix a crash (not a thorough fix).
- Commented old code
2001-12-25 16:51:37 +00:00
Andi Gutmans
df38ce3727 - Fixed bug where global functions weren't called if they didn't exist
- in the class scope
2001-12-24 17:39:16 +00:00
Andi Gutmans
3458373ed6 - Fix a bug where function's didn't work anymore in multi-threaded
- servers after the latest startup changes.
2001-12-23 18:39:52 +00:00
Andi Gutmans
9e7c0d67d0 - Add initial capability of defining nested classes as class foo::bar 2001-12-22 15:31:44 +00:00
Zeev Suraski
43617d0d50 MFZE1 2001-12-18 19:56:23 +00:00
Sebastian Bergmann
cc01431199 I'm too trigger-happy. 2001-12-16 20:28:18 +00:00
Sebastian Bergmann
7920d4fc7e delete is now function 2001-12-16 19:57:53 +00:00
Andi Gutmans
1e56cac358 - Seems like most people prefer delete($obj) over delete $obj. 2001-12-16 19:53:06 +00:00
Andi Gutmans
ac7ed464b5 - Start adding parsed variable checks. 2001-12-16 19:45:49 +00:00
Andi Gutmans
880e7d8ce7 - Framework for knowing what kind of variable we just parsed.
- This will be used in compile-time error checking which couldn't be done
- at the level of the grammar.
2001-12-16 19:18:19 +00:00
Andi Gutmans
7c749c1897 - Rearrange grammar to allow dereferencing of objects returned from
- functions. It still crashes though.
2001-12-13 22:21:50 +00:00
Andi Gutmans
f4b832d277 - Fix crash bug in startup code.
- Start work on being able to reference global and local scope
2001-12-13 16:55:04 +00:00
Andi Gutmans
ce98c73f82 - Infrastructure changes for allowing to access the global scope from
- within a class scope.
- Fix the Zend.dsp project a bit. It seems someone pretty much killed it
- when commiting their own personal configuration. Please be careful in
- future.
2001-12-12 20:45:38 +00:00
Andi Gutmans
74efc41fc3 - Make classes have scope and function/constant lookups default to the class 2001-12-12 17:38:37 +00:00
Andi Gutmans
4214a056a1 - Merge from ZE1 2001-12-11 18:51:02 +00:00
Andi Gutmans
4cb97fa3b9 - Rename zend_class_entry.constants -> zend_class_entry.constants_table 2001-12-11 18:46:43 +00:00
Andi Gutmans
1dcef1e4ea - Start making scope change correctly when calling namespace functions.
- When inside a namespace fallback to global namespace when function
- or constant is not found.
2001-12-11 17:56:57 +00:00
Sebastian Bergmann
5b0b5b6ed5 Forgot to update the LICENSE. 2001-12-11 17:38:49 +00:00
Sebastian Bergmann
d863d52a5d Update headers. 2001-12-11 15:16:21 +00:00
Sebastian Bergmann
4345f8a0b5 MFZE1 (AIX fixes) 2001-12-11 09:17:38 +00:00
Sebastian Bergmann
ff4cc2c6e2 MFZE1 (added zend_strip mode in the highliter) 2001-12-11 06:30:30 +00:00
Andi Gutmans
3bfee898db - More namespaces work.
- Nuke memory leak.
2001-12-10 18:57:17 +00:00
Andi Gutmans
8460372395 - Fix crash with unhandled exceptions 2001-12-08 20:58:20 +00:00
Andi Gutmans
055709538c - Support constants. The following works now:
<?
	class foo {
		const GC = "foo constant\n";
	}

	define("GC", "Global constant\n");

	namespace;
	print GC;
	namespace foo;
	print GC;
	namespace;
	print foo::GC;

?>
2001-12-06 18:05:18 +00:00
Andi Gutmans
42486196ad - Initial work on changing namespace scope. Only methods & variables
- right now.
<?
	$hey = "Global hey\n";

	class foo {
		static $hey = "Namespace hey\n";
		function bar()
		{
			print "in foo::bar()\n";
		}
	}
	function bar()
	{
		print "in bar()\n";
	}

	bar();
	namespace foo;
	bar();
	namespace;
	bar();
	namespace foo;
	$bar_indirect = "bar";
	$bar_indirect();

	namespace;
	print $hey;
	namespace foo;
	print $hey;
	$hey = "Namespace hey #2\n";
	namespace;
	print $hey;
	$hey = "Global hey #2\n";
	namespace foo;
	print $hey;
?>
2001-12-06 17:47:04 +00:00
Andi Gutmans
fe94f59427 - Nuke the namespace work I did. It'll be redone differently. 2001-12-06 17:23:08 +00:00
Sebastian Bergmann
8b34428167 Document recent changes. 2001-12-05 07:04:16 +00:00
Andi Gutmans
5476706142 - Damn Zeev :) 2001-12-04 17:58:32 +00:00
Andi Gutmans
94cfe03da5 - Revert one of the changes because it might be before the memory
- manager has started.
2001-12-01 08:46:02 +00:00
Andi Gutmans
bb9a36cad1 - Use alloca() when possible. 2001-12-01 08:33:48 +00:00
Andi Gutmans
e858d27888 - Initial support for class constants. There are still a few semantic
- issues which need to be looked into but basically it seems to work.
- Example:
<?php
	class foo
	{
		const hey = "hello";
	}

	print foo::hey;
?>
2001-11-30 16:29:47 +00:00
Andi Gutmans
7f66d5e99a - Fix typo 2001-11-30 11:42:30 +00:00
Andi Gutmans
f289014922 - Support syntax for class constants (doesn't do anything yet but
- required some reworking of the grammar).
2001-11-27 17:46:31 +00:00
Andi Gutmans
7cd6ccc0ec - Support static $var = 0; style initialization of static class
- members. For example:
-	class foo {
-		static $my_static = 5;
-
-	}
-
-	print foo::$my_static;
2001-11-26 18:05:01 +00:00
Andi Gutmans
0d559f17cd - Fix crash and leak 2001-11-25 12:29:08 +00:00
Andi Gutmans
4f3eaaa854 - Whitespace 2001-11-25 08:58:59 +00:00
Andi Gutmans
d2da63f629 - Support static members. The following script works:
<?
	class foo
	{
		class bar
		{
			function init_values()
			{
				for ($i=1; $i<10; $i++) {
					foo::bar::$hello[$i] = $i*$i;
				}
			}

			function print_values()
			{
				for ($i=1; $i<10; $i++) {
					print foo::bar::$hello[$i] . "\n";
				}
			}
		}
	}

	foo::bar::init_values();
	foo::bar::print_values();

	for ($i=1; $i<10; $i++) {
		print $hello[$i]?"Shouldn't be printed\n":"";
	}
?>
2001-11-25 08:49:09 +00:00
Andi Gutmans
559d611a86 - MFZE1 2001-11-24 18:27:20 +00:00
Zeev Suraski
08615c6f68 MFZE1 2001-11-15 23:26:52 +00:00
Stig S. Bakken
78f108d31a add newline at end of file to avoid warnings 2001-11-05 00:17:28 +00:00
Stig S. Bakken
9382ddec52 non-zts compile fix 2001-11-05 00:16:33 +00:00
Andi Gutmans
a332f826a7 - Support instantiation of nested class. The following script now should
- work:
-<?php
-	class foo
-	{
-		function bar()
-		{
-			print "bar() in class bar\n";
-		}
-
-		class barbara
-		{
-			function bar()
-			{
-				print "bar() in class foo::barbara\n";
-			}
-		}
-	}
-
-	$obj = new foo();
-	$obj->bar();
-
-	$obj = new foo::barbara();
-	$obj->bar();
-
2001-11-04 19:30:49 +00:00
Andi Gutmans
48e54e0c7a - RISC OS patch by Alex Waugh 2001-11-03 13:35:14 +00:00
Andi Gutmans
2eccd95ca4 - Add some initializations 2001-11-03 12:19:52 +00:00
Andi Gutmans
b87194e0c6 - Add constructor to the zend_class_entry instead of looking it up each
- time by name.
- This will allow the next patch of being able to instantiate nested
- classes such as new foo::bar::barbara();
2001-11-03 11:59:14 +00:00
Andi Gutmans
0a682c6d70 - Fix internal classes 2001-10-29 18:10:36 +00:00
Andi Gutmans
26578c386d - Initial support for nested class definitions 2001-10-29 17:19:02 +00:00
Zeev Suraski
8b53a129f7 MFTGZE1 2001-10-27 09:43:38 +00:00
Andi Gutmans
89a0e85251 - Fix Zeev's MFZE1 2001-10-26 14:13:42 +00:00
Zeev Suraski
aecd5b89ee MFZE1 2001-10-23 01:23:36 +00:00
Andrei Zmievski
3ead31449f MFHZ1 2001-10-20 13:55:47 +00:00
Sebastian Bergmann
01850714ee MFZE1: Introduced extension version numbers (Stig) 2001-10-12 18:40:30 +00:00
Sebastian Bergmann
43c7615c51 MFZE1 2001-10-04 14:18:52 +00:00
Andi Gutmans
2eabb14dc7 - Merge the NAMESPACES_BRANCH. It wasn't a good idea to have a branch when
- the whole CVS tree is work in progress
2001-09-30 17:29:55 +00:00
Andi Gutmans
279b468bf7 - Bump it up in the right place 2001-09-27 08:08:33 +00:00
Sebastian Bergmann
76ccb015e8 Keep ZEND_CHANGES up-to-date. 2001-09-22 17:03:05 +00:00
Zeev Suraski
e42ab2c95f MFZE1 2001-09-22 14:03:27 +00:00
Zeev Suraski
17352812a3 MFZE1 2001-09-22 00:09:24 +00:00
Andi Gutmans
d58240d0f5 - Nuke unused enum 2001-09-20 15:50:11 +00:00
Zeev Suraski
483fc4c73a MFZE1 2001-09-19 22:34:11 +00:00
Andi Gutmans
88d408ee11 - MFZE1 2001-09-19 10:41:35 +00:00
Sebastian Bergmann
3bdddb4910 MFZE1 2001-09-19 10:25:04 +00:00
Sebastian Bergmann
da5a79d185 MFZE1 2001-09-19 10:06:09 +00:00
Brian Moon
b285fae0bc adding RFC for loose type requirements for functions 2001-09-17 16:01:20 +00:00
Zeev Suraski
f88c25b60e MFZE1 2001-09-16 16:48:38 +00:00
Zeev Suraski
9f61e47c24 MFZE1 (nuke cplusplus code) 2001-09-10 00:08:24 +00:00
Zeev Suraski
b06440bceb MFZE1 (support return value in execute_scripts) 2001-09-10 00:07:32 +00:00
Stig S. Bakken
d07cfabce4 remove bogus comment :) 2001-09-08 11:17:25 +00:00
Stig S. Bakken
b07b4c6029 RFC document for namespaces 2001-09-08 11:02:06 +00:00
Stig S. Bakken
4585ae9fb1 wrapped to 80 columns :) 2001-09-08 08:55:42 +00:00
Andi Gutmans
d7536a8a5f - Shift around the variable parsing code to make it simpler. 2001-09-07 14:46:12 +00:00
Andi Gutmans
fc1abec531 - Fix warning (was fixed in ZE1 and not merged at some point). Please make
sure you merge patches!
2001-09-07 06:40:03 +00:00
Stanislav Malyshev
d082fb373d MFZE1 2001-09-05 09:29:28 +00:00
Andi Gutmans
7c4a0cc6cf - CLS_CC -> TSRMLS_CC 2001-09-03 16:57:49 +00:00
Sterling Hughes
c57ed1b93b spaces->tabs 2001-08-31 21:55:43 +00:00
Sterling Hughes
498f7fd90f MFZE1 2001-08-31 21:52:44 +00:00
Sterling Hughes
69c7346f0e MFZE1 2001-08-31 21:47:26 +00:00
Zeev Suraski
819ea51d00 MFZE1 2001-08-31 13:11:52 +00:00
Andi Gutmans
619702157b - Make it compile in thread-safe mode. 2001-08-30 17:27:43 +00:00
Andi Gutmans
560606d210 - Get rid of warning and C++ comments 2001-08-30 15:31:35 +00:00
Andi Gutmans
29f5dbe10b - Initial support for exceptions. 2001-08-30 15:26:30 +00:00
Zeev Suraski
4684d5f405 MFZE1 2001-08-30 12:08:23 +00:00
Zeev Suraski
b392fe4497 MFZE1 2001-08-28 09:23:22 +00:00
Andi Gutmans
0378e545a0 - Add sample RFC 2001-08-27 18:43:20 +00:00
Stanislav Malyshev
2a0a07b883 Add dlsym underscore detection, by Jani Taskinen 2001-08-26 15:25:55 +00:00
Andi Gutmans
b0970f1421 - MFZE1 2001-08-26 15:16:06 +00:00
Andi Gutmans
e2efa0196f - Merge Andrei's fix from Engine 1. Please commit patches to both trees! 2001-08-26 15:14:45 +00:00
Zeev Suraski
4757104e45 MFZE1 2001-08-21 12:29:12 +00:00
Zeev Suraski
9b3df86e8d MFZE1 2001-08-20 14:58:52 +00:00
Andi Gutmans
718f323edc - Fix compile problem 2001-08-19 15:23:25 +00:00
Zeev Suraski
4340c57ece MFZE1 2001-08-19 13:39:06 +00:00
Andi Gutmans
d87fa22532 - Merge Sterling's patches from ZE1 2001-08-18 18:16:49 +00:00
Andrei Zmievski
ea315a2e70 MFZE1 2001-08-17 17:42:43 +00:00
Zeev Suraski
b02df6f4ac MFZE1 2001-08-17 14:53:55 +00:00
Zeev Suraski
77c52275a1 MFZE1 2001-08-16 20:38:56 +00:00
Andi Gutmans
f909ff9ed0 - Try and nuke get_object_zval_ptr() 2001-08-16 15:01:25 +00:00
Andi Gutmans
6435c3e962 - Remove bogus notice 2001-08-16 14:42:28 +00:00
Andi Gutmans
290fc10af7 - Sync with ZE1 2001-08-16 14:12:03 +00:00
Andi Gutmans
ea48c0c46a - Fix a bug in method calls.
- Try to get the old copying behavior of objects to work (doesn't work yet).
2001-08-16 14:04:04 +00:00
Zeev Suraski
7fe3b91c67 MFZE1 2001-08-15 18:06:06 +00:00
Zeev Suraski
f72d907105 MFZE1 2001-08-14 15:24:20 +00:00
Zeev Suraski
ac0bee7ec9 MFZE1 2001-08-14 15:22:34 +00:00
Andi Gutmans
33539126d0 - MFZE1 2001-08-13 18:33:41 +00:00
Andi Gutmans
30bad123f0 - MFZE1 2001-08-13 15:38:07 +00:00
Andi Gutmans
b6eb324cd2 - Merge from Engine 1 2001-08-13 15:23:37 +00:00
Zeev Suraski
8722b31d8a MFZE1 2001-08-13 00:28:18 +00:00
Stanislav Malyshev
f5c5986344 _FUNCTION is used in definition, so use _D 2001-08-12 14:58:57 +00:00
Andi Gutmans
76a7a5bc18 - More work on making objects work 2001-08-11 18:26:47 +00:00
Andi Gutmans
532677e7ac - Fix some places which create objects. The fixes are ugly and will be
revised when things start working well
2001-08-11 18:04:07 +00:00
Zeev Suraski
4f6c95d17a Whitespace 2001-08-11 15:56:40 +00:00
Zeev Suraski
adf89828d2 Whitespace 2001-08-11 15:44:24 +00:00
Andi Gutmans
1751c4eba5 - Fix UNIX build. 2001-08-11 13:23:35 +00:00
Andi Gutmans
73d4931dac - Need to do some rewriting in the parser instead of this. 2001-08-11 10:47:41 +00:00
Andi Gutmans
f5ea49a647 - For Sebastian. Will allow to see you're using the Engine 2 CVS via
phpinfo()
2001-08-11 00:20:37 +00:00
Andi Gutmans
8b6f848cbb - Merge from Engine 1 2001-08-10 16:19:49 +00:00
Andi Gutmans
8ff094046d - A couple of fixes 2001-08-10 14:18:38 +00:00
Andi Gutmans
61edd1bf41 - Merge from Engine 1 CVS 2001-08-10 13:39:35 +00:00
Andi Gutmans
80b870e5d3 - Merge from Engine 1 tree 2001-08-09 03:58:58 +00:00
Andi Gutmans
9d11db1200 - Merge new $_GET, $_POST etc. patch from Engine 1 tree 2001-08-08 17:18:16 +00:00
Andi Gutmans
cb1a40f399 - Preliminary patch for method() dereferencing 2001-08-08 15:07:11 +00:00
Andi Gutmans
2f6cd308f9 - Merge zend_try fix from Engine 1 2001-08-08 15:06:08 +00:00
Zeev Suraski
b92a9c872f Migrate .dsp patches 2001-08-07 20:15:17 +00:00
Andi Gutmans
3d3eff12cb - Forgot to commit the updated dsp 2001-08-07 19:33:06 +00:00
Andi Gutmans
9802b1632c - More sync with latest CVS 2001-08-07 03:35:31 +00:00
Andi Gutmans
5af7770a81 - Sync Engine2 CVS with latest Engine CVS 2001-08-07 03:17:33 +00:00
Zeev Suraski
2c8ec7f994 Commit uncommitted build fix 2001-08-06 23:56:32 +00:00
Zeev Suraski
7ade3b30cb Fix an off by one lineno issue, in case of an implicit ; 2001-08-06 14:36:46 +00:00
Zeev Suraski
85875e83ae Better shared code 2001-08-06 14:26:05 +00:00
Zeev Suraski
609d58a4d6 Merge from branch - move to standard C scanners in thread safe mode 2001-08-06 13:48:51 +00:00
Andi Gutmans
e6697297b6 - Move to using Z_ macros 2001-08-06 02:52:03 +00:00
Andi Gutmans
54e871a9cc - Use Z_ macros 2001-08-06 02:48:55 +00:00
Zeev Suraski
c4ca84d3a1 More nulled-out macros 2001-08-05 17:07:59 +00:00
Zeev Suraski
fcc035108f TSRMLS_FETCH work 2001-08-05 01:37:10 +00:00
Zeev Suraski
c06dbe23bb Fix buglet 2001-08-03 16:08:01 +00:00
Zeev Suraski
e206bd3374 Fix macro 2001-08-03 08:15:16 +00:00
Zeev Suraski
66d9314b60 Implement fast memory allocation and reduced fragmentation under Windows. 2001-08-03 07:06:05 +00:00
Zeev Suraski
ded764461b Some compat macros 2001-08-03 07:02:46 +00:00
Zeev Suraski
7ecb33868c require_once()/include_once will return true in case a file was not included
because it was already included earlier.
Changed the default return value type of the include() family from long to
boolean
2001-08-02 17:27:19 +00:00
Zeev Suraski
c14baeece3 Avoid going over huge lists of functions, classes and constants.
Special thanks to the guys from the MS lab for the profiling tools :)
2001-08-02 07:00:43 +00:00
Zeev Suraski
7deb44e36d Some cleanup 2001-08-02 06:16:20 +00:00
Zeev Suraski
3aa5674a84 TSRMLS fixes 2001-08-02 05:25:29 +00:00
Zeev Suraski
f93bfc47df Implement fast scanning in the multithreaded environment 2001-08-01 02:36:05 +00:00
Zeev Suraski
982cd24aa4 the make Sebastian happy part of the day :) 2001-07-31 07:12:15 +00:00
Zeev Suraski
0b7fdbb690 More TSRMLS_FETCH work 2001-07-31 06:07:25 +00:00
Zeev Suraski
57507b4ea6 More TSRMLS_FETCH annihilation 2001-07-31 05:32:25 +00:00
Zeev Suraski
d76cf1da18 More TSRMLS_FETCH work 2001-07-31 04:53:54 +00:00
Zeev Suraski
d49077f871 Compile fix 2001-07-30 09:05:42 +00:00
Zeev Suraski
4187439cff More TSRMLS_FETCH work 2001-07-30 07:43:02 +00:00
Zeev Suraski
e8ac55d03c More TSRMLS_FETCH work 2001-07-30 06:12:15 +00:00
Zeev Suraski
b52554951f More TSRMLS_FETCH work, and get rid of redundant ParametersPassedByRef 2001-07-30 05:34:21 +00:00
Andrei Zmievski
3839af35dc Let's be consisten and keep TSRMLS_DC declaration after num_args. 2001-07-30 05:05:26 +00:00
Zeev Suraski
8ce8324e59 More TSRMLS_FETCH annihilation 2001-07-30 04:54:16 +00:00
Zeev Suraski
11e5d2f229 Get rid of more TSRMLS_FETCH's 2001-07-30 02:07:52 +00:00
Zeev Suraski
b57703825b Avoid TSRMLS_FETCH()'s (still lots of work left) 2001-07-30 01:48:22 +00:00
Andi Gutmans
51b92451d0 - More object junk 2001-07-29 08:24:38 +00:00
Andi Gutmans
c259cb7c1a - Object macros... 2001-07-29 08:22:57 +00:00
Andi Gutmans
cf510cb7fd - Fix build 2001-07-28 20:28:29 +00:00
Andi Gutmans
ff61394786 - More object macros. 2001-07-28 20:27:32 +00:00
Andi Gutmans
896eec1ec5 - Use the Z_OBJ* macros for accessing objects 2001-07-28 18:35:22 +00:00
Andi Gutmans
b40db64d0d - Small patch to allow fixing the PHP tree to be compatible w/ the initial
- Zend 2 objects patch. Hopefully I can commit that this week.
2001-07-28 18:33:06 +00:00
Zeev Suraski
b4f3b9d3ce Redesigned thread safety mechanism - nua nua 2001-07-28 10:51:54 +00:00
Sascha Schumann
6be787a929 Fix build 2001-07-28 00:46:42 +00:00
Zeev Suraski
2c254ba762 Get rid of ELS_*(), and use TSRMLS_*() instead.
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:10:39 +00:00
Sascha Schumann
b677af2265 tsrm_error is only available, if TSRM_DEBUG is defined. 2001-07-23 04:21:11 +00:00
Sascha Schumann
28ecbb213c tsrm_error is only available, if TSRM_DEBUG is defined. 2001-07-23 04:19:32 +00:00
Zeev Suraski
ef4fe54f0a Always track bailout file/lineno 2001-07-21 16:21:22 +00:00
Zeev Suraski
5f2da6f219 Fix Release builds 2001-07-21 16:13:46 +00:00
Zeev Suraski
931ebe08d7 Improve bailout mechanism, supports nesting of bailouts a-la try..catch 2001-07-21 14:25:27 +00:00
Zeev Suraski
660a09c6da Fix compile warning 2001-07-21 14:18:53 +00:00
Andrei Zmievski
fc260e6c98 Fix certain cases where inheritance of base class's overloaded handlers wasn't
being done.
2001-07-21 02:35:13 +00:00
Zeev Suraski
8084d27885 Implement a more granular shutdown mechanism for the executor -
prevent corruption of constants and missing destructions of resources
2001-07-20 14:20:34 +00:00
Zeev Suraski
d68f53e94e Unfix, it has too strong effects 2001-07-19 18:33:22 +00:00
Zeev Suraski
ce29cb297e Catch all cases 2001-07-19 15:53:38 +00:00
Zeev Suraski
01814bb2b8 Fix bug #11970, strike 2 2001-07-19 14:15:50 +00:00
Zeev Suraski
06fc55cc67 Revert bogus patch 2001-07-19 14:11:40 +00:00
Stanislav Malyshev
db97aea8d9 fix double->long conversion 2001-07-18 16:46:51 +00:00
Andi Gutmans
6bd084cb0a - Remove unused code 2001-07-17 16:10:15 +00:00
Zeev Suraski
43ebb86806 Fix bug #10287 - avoid crashing under a bogus usage of list() 2001-07-16 15:48:31 +00:00
Zeev Suraski
fb532ba52b Fix bug #10467 2001-07-16 11:41:06 +00:00
Zeev Suraski
1c2893a1b9 Minor cleaning 2001-07-15 22:48:04 +00:00
Zeev Suraski
ec6c9f67c4 Optimize the parser a bit 2001-07-15 19:24:32 +00:00
Zeev Suraski
0078ceec19 Fix an inline 2001-07-15 19:08:32 +00:00
Zeev Suraski
c4f2e0197b Time to bid this old timer goodbye - get rid of var_uninit() 2001-07-15 19:02:20 +00:00
Zeev Suraski
563aacdb66 Fix bug #6239 2001-07-15 18:57:43 +00:00
Zeev Suraski
73f488b323 Allow indirect reference to method names in class::method() construct 2001-07-15 18:39:14 +00:00
Zeev Suraski
9bd9862451 Fix bug #10257 2001-07-15 17:48:50 +00:00
Zeev Suraski
553505cb61 Fix bug #11970 2001-07-15 16:51:30 +00:00
Zeev Suraski
0c49166197 Fix bug #9884 2001-07-15 16:22:41 +00:00
Zeev Suraski
85b4df53c0 Improved interactive mode - it is now available in all builds, without any significant slowdown 2001-07-15 14:08:58 +00:00
Zeev Suraski
ab30c8cca3 Early initialization 2001-07-15 12:24:10 +00:00
Zeev Suraski
f63367bf16 layout 2001-07-13 12:08:32 +00:00
Thies C. Arntzen
7b7e72d1d2 the resource-lists are now destroyed backwards. this will make sure that
resources get destroyed in the opposite order they were created and thereby
db-cursors will always be released before their corresponding connection etc.
this sould not break anything!
2001-07-13 12:05:47 +00:00
Zeev Suraski
87e3924379 Remove the last couple of bogus inlines 2001-07-11 17:18:22 +00:00
Andi Gutmans
b98acd61f1 - Move inline_zend_hash_func() to header file 2001-07-11 16:16:08 +00:00
Thies C. Arntzen
07ea068454 fixed ZVAL_FALSE and ZVAL_TRUE 2001-07-11 12:40:29 +00:00
Stanislav Malyshev
6cf5e7f9f7 No hashpjw anymore, but we have zend_hash_func 2001-07-11 12:20:07 +00:00
Zeev Suraski
4cc86259dd Get rid of ZVAL_RESET... 2001-07-11 11:35:11 +00:00
Zeev Suraski
ed542331b7 Get rid of some inlines 2001-07-11 09:33:41 +00:00
Andi Gutmans
2f8fa8cf21 - Merge faster hash implementation.
- The hash function parameter in hash_init(...) is not used anymore.
- It should be removed but it is "to be decided" if we want to do that now
- or in a major version as it means changing MANY places and third party
- modules might stop working.
2001-07-10 20:31:42 +00:00
Thies C. Arntzen
bcddfd474a cleaned up the RETVAL_ RETURN_ and ZVAL_ macros
added check for \0 at end-of-string at some places. all strings in PHP
have to be terminated with \0 because 3th party libraries might not be
binary-safe.
2001-07-10 08:20:20 +00:00
Andi Gutmans
6297cd26e2 - Commit Thies' patch. str.len was too long. 2001-07-10 05:02:50 +00:00
Andrei Zmievski
58f88057b1 Adding new parameter parsing API. 2001-07-09 18:51:29 +00:00
Rasmus Lerdorf
fb8e614690 Trivial fix - but the period looks odd in error messages 2001-07-03 04:18:38 +00:00
Andi Gutmans
55687ca216 - Fix the memory limit fix. 2001-06-30 07:58:34 +00:00
Andi Gutmans
af089a2938 - Remove bogus comment. 2001-06-29 20:42:02 +00:00
Zeev Suraski
3eb6d65ece Fix memory_limit, kill warning 2001-06-29 00:36:34 +00:00
Zeev Suraski
446567cb26 Fix warnings 2001-06-28 23:40:44 +00:00
Zeev Suraski
2536259557 Fix leak in the patch, and revert a couple of lines I didn't mean to commit 2001-06-27 15:47:31 +00:00
Zeev Suraski
ee115c8ecc - Warn about illegal offsets
- Allow assignments to uninitialized string offsets (automatically pads the
  string with spaces)
2001-06-27 15:40:49 +00:00
Zeev Suraski
5e99993058 Fixed autoconversion of negative values to double (Fix bug #11685) 2001-06-26 21:11:35 +00:00
Andi Gutmans
b70eeddc70 - Fix crash bug (fix by Jani). 2001-06-26 15:19:47 +00:00
Andi Gutmans
12db900a6f - Bump Zend version 2001-06-24 03:54:11 +00:00
Andi Gutmans
5bf89ce61c - Hopefully fix bug #11476 and improve garbage to be freed very quickly.
Tree tagged as PRE_GRANULAR_GARBAGE_FIX before commiting.
2001-06-21 22:30:23 +00:00
Andi Gutmans
7690887cf6 - Use inline instead of macro for PZVAL_LOCK()/PZVAL_UNLOCK() so that it
can be debugged.
2001-06-21 21:31:33 +00:00
Andi Gutmans
8cd70926c5 - Nuke dependency of all of PHP on zend_execute_locks.h. 2001-06-21 21:17:10 +00:00
Zeev Suraski
851b1e3b35 Eliminate the leak that the original bogus code tried to solve 2001-06-21 15:33:55 +00:00
Zeev Suraski
cb0d2775fb parent::methodname() now works better with runtime classes (fix bug #11589) 2001-06-21 14:53:05 +00:00
Zeev Suraski
3276cfd950 Fix bug #11590 (I want Andi to also review this patch before it goes into 4.0.6) 2001-06-21 08:17:09 +00:00
Andi Gutmans
1aa5b19cc9 - Fix string offsets crash. 2001-06-20 17:14:58 +00:00
Andi Gutmans
34e0c392e8 - Fix memory fragmention problem which could lead to web server processes
growing much more than they should. (bug #11344?)
2001-06-19 17:59:07 +00:00
Zeev Suraski
0c164128f8 Add missing exports 2001-06-19 08:52:19 +00:00
Zeev Suraski
38085881a6 Fix warning 2001-06-19 08:42:22 +00:00
Zeev Suraski
b23d83cf6a Avoid crashing if the error reporting function is called after a bailout during shutdown 2001-06-13 17:18:11 +00:00
Zeev Suraski
e8796a1503 Improve XHTML compliance (suggested by Anil Madhavapeddy) 2001-06-12 10:51:59 +00:00
Zeev Suraski
6cf6835a4d Add missing check 2001-05-30 08:23:15 +00:00
Andi Gutmans
e264a407eb - Change if() to while() to make sure we skip enough opcodes 2001-05-25 09:46:48 +00:00
Andi Gutmans
90c36273b4 - Fix memory leak 2001-05-25 07:26:48 +00:00
Andrei Zmievski
9f0a619553 Fix segfault -- need to copy-construct constant value. 2001-05-23 13:54:22 +00:00
Andrei Zmievski
4d78270b4e Moving some functions into Zend. 2001-05-21 15:47:52 +00:00
Andi Gutmans
e4f7a85acb - The previous name could be confused with resource # 2001-05-20 20:48:40 +00:00
Andi Gutmans
e2f12eb0e5 - Whitespace and change the name of the macro to something more verbose
ZEND_GET_RESOURCE_ID(...)
2001-05-20 20:25:20 +00:00
James Moore
c1164ad5bf @ - Add new ZEND_GET_LE macro for retrieving destructor
@   id's from remote extensions. (Jmoore, Zend Engine)
2001-05-20 17:06:39 +00:00
Andi Gutmans
65d9584ac0 - Don't allow resource types of 0 2001-05-20 16:04:22 +00:00
Sascha Schumann
ba8af2515e Fix segfault when using zend_hash_add_empty_element 2001-05-19 14:53:55 +00:00
Thies C. Arntzen
473d3eae45 reset allocated_memory_peak after each request. 2001-05-18 14:32:11 +00:00
Zeev Suraski
5b12d6077e That's slightly clearer that way :) 2001-05-17 16:33:45 +00:00
Zeev Suraski
c7464b7d6a Fix build 2001-05-17 12:51:24 +00:00
Zeev Suraski
41fbc95fe1 Fix build 2001-05-17 11:22:49 +00:00
Zeev Suraski
51303fc051 Fix corruption issue 2001-05-17 09:58:34 +00:00
Zeev Suraski
755207a1e6 Implement zend_hash_add_empty_element() using the existing infrastructure 2001-05-16 17:22:01 +00:00
Zeev Suraski
4c0d85ba4f Commit missing fix 2001-05-16 17:21:16 +00:00
Zeev Suraski
260b4d0dbf Merge memory usage into memory limit 2001-05-16 15:02:30 +00:00
Sascha Schumann
bb472e7069 Initialize empty pDataPtr to a pseudo value to prevent a pefree on
pData.
2001-05-14 10:49:17 +00:00
Andi Gutmans
eadaf3eb7a - Remove check for ht == NULL in copy_ctor.
If ht is NULL at this point then we are better off crashing and fixing
  the bug that caused it.
2001-05-12 13:55:49 +00:00
Sascha Schumann
996e9a7212 add missing closing paranthesis 2001-05-11 19:41:11 +00:00
Sascha Schumann
3efa08aaa8 Some extensions don't associate any data with hash entries,
except the key.  Prior to this change, a separate chunk of memory
was allocated in that case to store exactly zero bytes (plus
memory manager overhead).  We treat that case similar to the
pointer case, but don't copy any data at all (because the pointer
is usually the NULL pointer).
2001-05-11 19:32:01 +00:00
Sascha Schumann
2c4e1e84ce Fix a memory leak which occured upon registering an already existing
constant.
2001-05-11 19:18:24 +00:00
Thies C. Arntzen
8ca106bffc added --enable-memory-usage-info 2001-05-11 18:16:41 +00:00
Andi Gutmans
d8c11e6f2a - Fix crash bug when opcodes array is erealloc()'ed to a different memory
area before it reaches the loop.
- Some whitespace stuff
2001-05-11 14:29:06 +00:00
Zeev Suraski
429667883e Treat numeric strings as numbers in the increment operator 2001-05-10 12:58:31 +00:00
Andrei Zmievski
555fa77930 Nuke unused variable. 2001-05-09 20:37:16 +00:00
Andrei Zmievski
41aebd058e Fix a few bugs in zend_is_callable() and make it stricter. 2001-05-09 20:07:49 +00:00
Andi Gutmans
a514e8fe66 - Fix line numbers when some lines end with \r 2001-05-08 19:42:14 +00:00
Andi Gutmans
3380fa1b8e - Fix crash bug reported by DBG author Dmitri Dmitrienko. 2001-05-08 15:56:26 +00:00
Zeev Suraski
0eadc7e423 Make zend_execute_scripts() reentrant 2001-05-07 11:08:18 +00:00
Zeev Suraski
bda9c83a82 Recover from a parse error in include files (before, it could result in a crash under certain circumstances). Fix bug #8663 2001-05-06 19:30:31 +00:00
Zeev Suraski
d2cbd019e3 Yikes, that would have been a very bad bug :) 2001-05-06 16:24:36 +00:00
Zeev Suraski
f78e65cabf Floating point keys didn't work in array() (fix bug #6662) 2001-05-06 15:39:27 +00:00
Zeev Suraski
686eab894c Hear hear, interactive mode is finally showing some progress:
- Support function calls
- Fix crash bug
2001-05-06 15:00:58 +00:00
Zeev Suraski
1e63f44084 Support interactive mode in thread-safe builds 2001-05-06 14:36:25 +00:00
Zeev Suraski
cd033b1271 Fix autoconversion of hexadecimal strings
It's time to close bug #5404 :)
2001-05-06 12:48:17 +00:00
Zeev Suraski
dc30520622 Retain single spaces as spaces to condense HTML 2001-05-06 12:28:17 +00:00
Andi Gutmans
5aec595716 - Support \r as newline in the ini scanner 2001-05-02 21:52:30 +00:00
Andi Gutmans
62bec3a7a7 - Handle MAC OS X \r line endings 2001-05-02 21:48:07 +00:00
Andi Gutmans
2d9eac7e0e - Patch by Andrei to prevent crash in error situation when not all
object overloading handles are defined.
2001-05-02 19:51:33 +00:00
Andi Gutmans
62cc5c9c8f - Bump up Zend version 2001-05-01 07:20:36 +00:00
Andi Gutmans
1b94b89cb8 - Add mistakenly removen closing bracket 2001-04-30 13:05:11 +00:00
Andi Gutmans
ec1068d695 - Get rid of warning 2001-04-30 13:04:27 +00:00
Andi Gutmans
aa1c46b3d8 - Try to solve crash on OS400. There is actually no reason I can see for
why his fix should solve a crash but it doesn't harm.
2001-04-30 05:39:37 +00:00
Andi Gutmans
ce7d0ef090 - Fix crash bug in interactive mode 2001-04-30 04:50:34 +00:00
Andi Gutmans
b63bcebc6e - Whitespace 2001-04-29 13:06:00 +00:00
Andi Gutmans
277ab5f223 - Improve overwrite detection in debug mode. 2001-04-29 13:00:46 +00:00
Andi Gutmans
27fd3a2e57 - Previous patch for too early freeing of resources seemed to have worked.
- Clean it up a bit.
2001-04-29 09:21:38 +00:00
Andi Gutmans
b11202d66b - Try and solve the too early resource destruction problem. 2001-04-29 06:33:50 +00:00
Zeev Suraski
4e71bbed0a include limits.h if available 2001-04-28 20:21:42 +00:00
Zeev Suraski
b87bac782f Fix bug 5661 2001-04-28 20:13:25 +00:00
Andi Gutmans
26c06df321 - Move all cases into switch(). 2001-04-28 18:20:46 +00:00
Andi Gutmans
1df2271224 - Just some little whitespace stuff. 2001-04-28 15:59:39 +00:00
Andi Gutmans
429aed9066 - Don't add/remove cached memory blocks from blocks list as this will slow
- down performance a bit.
2001-04-28 15:45:50 +00:00
Zeev Suraski
882751dd7d Resources weren't being properly destroyed by the convert_to_*() functions 2001-04-28 02:06:35 +00:00
Andi Gutmans
acd56b0891 - More whitespace fixes while I'm at it. 2001-04-27 18:53:25 +00:00
Andi Gutmans
0971ff99cb - Whitespace changes to be standard like the rest of Zend 2001-04-27 18:51:56 +00:00
Andi Gutmans
9dd0231844 - Add typedef for function pointer of llist dtor 2001-04-21 11:44:00 +00:00
Andi Gutmans
90cf65411c - Fix for crash bug when using invalid arguments in the foreach() loop.
- Reported by Yasuo Ohgaki
2001-04-20 07:09:22 +00:00
Andi Gutmans
02af513c0d - Patch from Jason Greene.
- Make it easier to write PHP function definitions in more than just one .c
  file while accessing the same module globals.
2001-04-19 17:51:23 +00:00
Zeev Suraski
1078e61c74 small beautification 2001-04-17 15:19:14 +00:00
Zeev Suraski
9aac926d3f Fix warning 2001-03-28 16:12:16 +00:00
Zeev Suraski
6dafabd73f Make Windows happy 2001-03-28 15:46:51 +00:00
Zeev Suraski
3492049c86 Get rid of more redundant code 2001-03-28 15:32:52 +00:00
Zeev Suraski
3d3d8881c6 Cleaner way of making sure resources start at 1 and not 0... 2001-03-28 15:22:15 +00:00
Zeev Suraski
8c13f9d56f Remove redundant code 2001-03-28 14:56:28 +00:00
Zeev Suraski
59c32058fc God knows what this code was doing... 2001-03-27 16:46:24 +00:00
Andrei Zmievski
3e2ff3409a Updated get_class_methods() to take class instance as well as class name. 2001-03-26 20:14:21 +00:00
Andrei Zmievski
54da9024f5 Making it possible to pass a class name to get_parent_class() as well
as a class instance.
2001-03-26 19:03:06 +00:00
Andrei Zmievski
2b2484dd3d Fixing function name length. 2001-03-23 14:46:37 +00:00
Andi Gutmans
5c7a762249 - Add support for isset($var1, $var2, $var3); - Will be true only if all
- variables are set.
2001-03-19 19:31:14 +00:00
Andi Gutmans
baa92cc540 - Nuke commented code 2001-03-15 18:58:07 +00:00
Andrei Zmievski
3b2a83b942 Name length is already known. 2001-03-12 16:40:55 +00:00
Andi Gutmans
7db391b054 - Missed second place. 2001-03-12 16:27:26 +00:00
Andi Gutmans
123491aeac - Nuke snprintf() 2001-03-12 16:23:19 +00:00
Andi Gutmans
3118af8293 - White space 2001-03-12 15:45:01 +00:00
Andi Gutmans
714d083cb8 - Fix by Jani Taskinen <sniper@iki.fi> for whole path also to work
with include_once()/require_once().
2001-03-12 15:42:18 +00:00
Andrei Zmievski
13148b5491 Improve zend_is_callable() to the point where it's actually useful.
Now it just needs to be invoked everywhere in PHP where a callback is
expected.
2001-03-12 03:08:28 +00:00
Andi Gutmans
dde50d6afd - Fix for Solaris. 2001-03-11 19:35:26 +00:00
Andi Gutmans
492a619be3 - Whitespace 2001-03-10 09:21:48 +00:00
Zeev Suraski
31775e9706 Add missing #define's 2001-03-07 17:05:03 +00:00
Zeev Suraski
36ded42156 Make parent:: work in runtime bindings as well 2001-03-07 10:07:25 +00:00
Sascha Schumann
aed7d01138 We actually only need AC_PROG_LEX here. 2001-03-06 16:59:28 +00:00
Zeev Suraski
87ee97e303 Fix bug #8899 (thanks Jani) 2001-03-04 22:27:56 +00:00
Sascha Schumann
5c1724177d -Os is a valid GCC optimization level. 2001-03-03 18:07:52 +00:00
Zeev Suraski
bdacbc4c94 Whitespace fix 2001-03-02 23:56:03 +00:00
Andrei Zmievski
145a319f43 Do case-insensitive class name matching when parsing
array('Class', 'method') structure.
You guys can clean it up, if there is a better way.
2001-02-28 03:53:00 +00:00
Andi Gutmans
d3625c0a90 - Nuke zval_del_ref() 2001-02-27 20:26:16 +00:00
Andrei Zmievski
cb00ed2bd3 Don't overwrite existing handlers with parent ones. 2001-02-27 05:18:34 +00:00
Andi Gutmans
7080fa5b53 - Rename modules.h to zend_modules.h 2001-02-26 18:18:34 +00:00
Andi Gutmans
13b88fc18f - One more copyright year update 2001-02-26 05:44:29 +00:00
Andi Gutmans
d2c9e8074c - Update copyright year 2001-02-26 05:43:27 +00:00
Andi Gutmans
7513a2f972 - Fix dll linkage warnings 2001-02-25 05:21:31 +00:00
Andi Gutmans
0bed994531 - Add exports from Daniel Beulshausen 2001-02-24 21:16:58 +00:00
Stanislav Malyshev
e4f4983cdc allow more extensions with resources 2001-02-14 13:17:49 +00:00
Zeev Suraski
f3063553c3 Move version registration to a more correct place 2001-02-13 13:53:42 +00:00
Andi Gutmans
4afacc0a7c - Remove two unused functions 2001-02-12 15:49:24 +00:00
Andi Gutmans
488d808748 - Fix whitespace. 2001-02-12 15:18:05 +00:00
Zeev Suraski
d854b26e43 Fix a bug that could cause corruption in case of an error during
get_zval_ptr()
2001-02-12 15:16:11 +00:00
Andi Gutmans
e0b2a5f583 - Remove duplicate code and do a tiny optimization in DO_FCALL 2001-02-09 12:47:57 +00:00
Zeev Suraski
c3531b3750 Fix string offset data corruption 2001-02-05 22:27:47 +00:00
Andrei Zmievski
98d8ba8cc4 Allow passing class name as well as an object instance to call methods. 2001-02-04 00:06:08 +00:00
Andrei Zmievski
088a4b7151 Set the correct function state during execution. This is mainly to have
get_active_function_name() to return proper value.
2001-02-03 07:21:35 +00:00
Andrei Zmievski
50f28f4372 Inherit overloaded handlers. 2001-02-03 04:52:29 +00:00
Andrei Zmievski
8fe036596f Added zend_is_callable() function that checks whether passed zval
represents a valid and exiting callable construct.
2001-02-01 05:01:26 +00:00
Andi Gutmans
0611acb910 - Change unset() functions to null(). unset() is legacy 2001-01-31 21:53:30 +00:00
Andi Gutmans
2f2d32fa61 - Quick fix. I'm for changing these to add_property_null() as we've nuked
- unset.
2001-01-31 05:21:53 +00:00
Andi Gutmans
f67df57491 - That doesn't seem like a smart thing to do :)
- I wonder if gcc optimized it out.
2001-01-27 12:29:02 +00:00
Thies C. Arntzen
dd7eb4284b fix a couple of warnings 2001-01-23 17:55:17 +00:00
Thies C. Arntzen
373e830117 fixed crash in add_index_bool. 2001-01-23 15:30:18 +00:00
Andrei Zmievski
57f99633ce Make add_index_zval() available to the outside world. 2001-01-22 20:40:41 +00:00
Andi Gutmans
3353ad7e6e - Make people happy who like the Zend version number bumped up in parallel
with PHP.
2001-01-21 11:43:34 +00:00
Andi Gutmans
ef95a346f1 - Patch from Sterling. Add API calls to add zval's as array indeces/
object properties. Add _ex functions which take the string length as an
  argument for better performance.
2001-01-20 19:16:38 +00:00
Andi Gutmans
0a3761e283 - For Sterling. I wonder if not all of the API functions should take the
- key_length as a parameter in order to save that strlen().
2001-01-19 08:40:49 +00:00
Andi Gutmans
62606e7789 - Fix leak in fetch_dim_address() which was already fixed in
- fetch_dim_object(). Take the oppertunity to make both use the same
- function and not duplicate the code.
2001-01-17 17:34:16 +00:00
Zeev Suraski
b8b40f697e Fix persistent resources, once and for all... 2001-01-16 23:49:16 +00:00
Zeev Suraski
0e08845eb0 Add free_estring() 2001-01-15 10:52:06 +00:00
Zeev Suraski
dc45d88c47 Add newline 2001-01-12 11:14:46 +00:00
Rasmus Lerdorf
b208f6bc7d Fix for bug number 8666 2001-01-12 06:55:57 +00:00
Zeev Suraski
0301041f79 Fix mismatch in return values 2001-01-07 19:04:02 +00:00
Zeev Suraski
903018ef36 - Remove backward dependency from PHP -> Zend
- Rename get_ini_entry() as get_configuration_directive() for clarity
  (it doesn't use the INI subsystem, but the module-supplied function for
  retrieving configuration directives)
2001-01-07 18:39:11 +00:00
Zeev Suraski
5f6bc23931 Remove -S option on all bison calls 2001-01-07 18:31:55 +00:00
Zeev Suraski
1f23e50789 Fix possibility of a crash during startup (very unlikely, but possible) 2001-01-07 02:47:32 +00:00
Zeev Suraski
bcf179d047 Remove -S 2001-01-06 20:11:22 +00:00
Andi Gutmans
572e0b78fb - This slipped in by mistake. 2001-01-06 09:56:36 +00:00
Zeev Suraski
aae9e7ee59 Merge in some ZEND_API additions from Daniel Beulshausen (needed for the
Win32 Apache module)
2001-01-05 15:01:15 +00:00
Andi Gutmans
e976d8ed1d - Make plist_destructor work like list_destructor to allow it to call
extended destructors.
2001-01-04 06:20:26 +00:00
Zeev Suraski
f3258b2426 Fix another case of possible line number corruption 2001-01-03 23:00:01 +00:00
Zeev Suraski
6b23ef6cef Commit missing declaration 2001-01-03 08:35:23 +00:00
Andi Gutmans
7b5138035c - Remove unreachable code 2001-01-01 17:59:08 +00:00
Zeev Suraski
18603033fb Fix possible corruption in line number information 2000-12-30 15:32:12 +00:00
Zeev Suraski
54d53055c2 Make the INI mechanism thread safe (or at least thread safer :) 2000-12-27 15:43:15 +00:00
Zeev Suraski
6f6e13de54 Use iostream.h instead of istream.h (IBM's compiler doesn't come with istream.h,
and iostream.h should include it)
2000-12-26 23:05:55 +00:00
Zeev Suraski
dc2f1d9db7 - Use supplied istdiostream definition for the INI scanner too
- Add Release_TSDbg configuration
2000-12-26 22:15:13 +00:00
Zeev Suraski
b8be713dd5 This needs updating as well 2000-12-24 15:37:39 +00:00
Zeev Suraski
cec94760fd More aggressive protection in call_user_function_ex() 2000-12-24 00:29:14 +00:00
Zeev Suraski
f052eab681 Fix a possible crash bug in call_user_function_ex(), if the function is
in fact not a user function
2000-12-23 12:54:42 +00:00
Sascha Schumann
c334058412 Set the floating-point exception mask on FreeBSD to 0 (as do other
FreeBSD system applications).  Also bump up the module API number
as the zend_hash_get_current_key change affects source and binary
compatibility.
2000-12-22 21:11:34 +00:00
Zeev Suraski
36eaad252f Allow get_current_key() not to return the key itself, instead of a duplicate 2000-12-22 12:49:51 +00:00
Zeev Suraski
0fcce4a77a @* Fixed a possible crash in get_class_methods() (Zeev) 2000-12-22 12:08:04 +00:00
Stanislav Malyshev
1d35ad33c6 Add support for ASP tags in one-line comment 2000-12-19 12:57:38 +00:00
Andi Gutmans
e2f33cb14f - Success! Yay! 2000-12-18 16:11:57 +00:00
Andi Gutmans
e0f026c600 - Yet another one. 2000-12-18 16:10:08 +00:00
Andi Gutmans
0a300b9935 - Testing 2000-12-18 16:08:02 +00:00
Andi Gutmans
9e3fa59ac2 - No luck 2000-12-18 16:06:16 +00:00
Andi Gutmans
532210b5ac - Make this damn commit stuff work. 2000-12-18 16:05:12 +00:00
Andi Gutmans
d3a04db0f2 - Testing 2000-12-18 16:00:15 +00:00
Stanislav Malyshev
63873aba37 Use HashPosition iterator instead of saving/restoring internal pointer 2000-12-18 15:06:03 +00:00
Stanislav Malyshev
9a135a2b29 Preserve internal pointer over print_r (fix #8289) 2000-12-18 13:56:30 +00:00
Andi Gutmans
43adbdcc72 - Fix leak with useless statements such as "foo"; 2000-12-18 13:28:32 +00:00
Andi Gutmans
9a87dc3bdc - Testing Sascha's CVS commit script which should work with branches. 2000-12-18 13:25:53 +00:00
Andi Gutmans
361d04b84b - Testing 2000-12-18 13:24:58 +00:00
Andi Gutmans
1b5493f819 - Testing 2000-12-18 13:23:45 +00:00
Andi Gutmans
2949dcb6c0 - Testing 2000-12-18 13:21:47 +00:00
Andi Gutmans
9722c1397a - Testing 2000-12-18 13:21:07 +00:00
Andi Gutmans
f23ebb7c5e - Testin 2000-12-18 13:20:01 +00:00
Zeev Suraski
603a23ade2 Test, ignore 2000-12-18 13:18:02 +00:00
Zeev Suraski
675985c892 Test, ignore 2000-12-18 13:14:05 +00:00
Zeev Suraski
2ef76284f0 Test, ignore 2000-12-18 13:12:16 +00:00
Zeev Suraski
1f7f2416be Test, ignore 2000-12-18 13:07:50 +00:00
Zeev Suraski
43c94f221a Test, ignore 2000-12-18 13:01:59 +00:00
Stanislav Malyshev
138ea941fa Add notice when auto-converting array to string 2000-12-18 08:47:17 +00:00
Andi Gutmans
d63f8130bc - Clean up the scanner a tiny bit while messing with it. 2000-12-17 20:23:24 +00:00
Andi Gutmans
6529b06618 - %> without asp_tags should not be treated as inline_html but as regular
tokens. Of course the parser will die with a parse error which is the
  correct behavior.
2000-12-17 20:10:16 +00:00
Andi Gutmans
5868427dcf - Fix problem in one line comments with line endings such as ??> 2000-12-17 20:03:35 +00:00
Stanislav Malyshev
98f2db94ec Fix #8279 (-2147483647 > 2147483647).
# Long addition/subtraction may not fit long.
2000-12-17 16:02:59 +00:00
Zeev Suraski
98ce9ed699 Update module_api_no 2000-12-14 00:23:18 +00:00
Zeev Suraski
be895bcb96 Fix call_user_function() with objects - it could leak under certain circumstances 2000-12-13 22:50:10 +00:00
Stanislav Malyshev
868c8769f8 Fix #8195: strncasecmp returns incorrect value 2000-12-12 09:47:30 +00:00
Sascha Schumann
acdae3a149 Hardcode strlen due to problems on SCO OpenServer 5.0.4 which defines
strlen to __std_hdr_strlen.
2000-12-07 19:28:13 +00:00
Stanislav Malyshev
6a356cf5c8 Whitespace fix 2000-12-07 10:36:45 +00:00
Stanislav Malyshev
8ba3eeabd9 Allow var $foo = array(ABC => 1) constructs
# It still doesn't work good with constants, but at least doesn't leak now
2000-12-07 10:36:10 +00:00
Stanislav Malyshev
b531e43c49 Fix memory leak - get_current_key mallocs it's result, no need to
copy it.
2000-12-07 09:39:16 +00:00
Sascha Schumann
fb87cc8c8e INIT_DATA/UPDATE_DATA assumed that pData elements of the size of a void
pointer would actually be aligned like a void pointer. This lead
to bus errors on architectures which don't allow unaligned 32-bit accesses.
2000-12-06 21:24:10 +00:00
Andi Gutmans
352d23b853 - Support for $var =& new foo() syntax. This allows you to use objects
which create extra references to themselves in the constructor.
2000-12-05 18:45:58 +00:00
Zeev Suraski
848e51fda5 Expose all timeout functions 2000-12-05 13:04:05 +00:00
Sascha Schumann
af97475e93 Use the hardly-documented third parameter of AM_INIT_AUTOMAKE to suppress
defining PACKAGE/VERSION.
2000-12-02 13:27:07 +00:00
Andi Gutmans
8d9082563a - Allow passing references which are returned from functions and new
- statements to be passed by reference.
2000-11-27 18:46:23 +00:00
Andrei Zmievski
81814c8ddc Update class constants before trying to get default properties. 2000-11-27 17:00:54 +00:00
Andi Gutmans
be6ab20415 - Remove code which has been commented out for ages. 2000-11-22 19:53:17 +00:00
Sascha Schumann
2ef6b689e8 Pass on the exit status 2000-11-22 04:24:35 +00:00
Zeev Suraski
f8dabac6d5 Fix build 2000-11-21 22:41:49 +00:00
Andi Gutmans
12077112b4 - The baby patch wasn't that innocent :) 2000-11-21 16:14:02 +00:00
Andrei Zmievski
9ca1038535 Sterling's patch to make get_defined_vars() simpler and better. 2000-11-21 15:29:02 +00:00
Andi Gutmans
b2c957d4b1 - NEVER copy and paste :) 2000-11-20 20:54:10 +00:00
Andi Gutmans
b5d5b3a703 - Baby patch towards making the damn pass-by-ref work. 2000-11-20 20:49:42 +00:00
Zeev Suraski
d161e9d1c1 Update API number 2000-11-20 12:59:56 +00:00
Stanislav Malyshev
35f4826fea Add macro to replace value of zval with another value while preserving
referencing structure
2000-11-20 12:35:08 +00:00
Andi Gutmans
6d2a433ec5 - This patch is broken and needs more thorough fixing. 2000-11-20 05:09:21 +00:00
Andi Gutmans
ce87ae4159 - Try and fix the problem when sending references returned from a function by reference. 2000-11-19 19:49:58 +00:00
Zeev Suraski
769cde2f9f Fix Zend build for non ZTS 2000-11-19 12:28:28 +00:00
Zeev Suraski
42b0e1cb1f Forgot to commit the non-debug build fix yesterday... 2000-11-18 11:43:08 +00:00
Zeev Suraski
9a0b61a619 Add thread-safety debugging information (idea - Dmitri Dmitrienko) 2000-11-18 02:43:23 +00:00
Stanislav Malyshev
2d57a5b2a4 Restore compatibility with old broken way 2000-11-14 18:33:58 +00:00
Stanislav Malyshev
0b6a8d0458 Better 0x handling - not change non-0x number behaviour 2000-11-14 17:54:11 +00:00
Stanislav Malyshev
89d5983ad9 Attempt at better handling long 0x-numbers, like 0xffffffff 2000-11-14 17:02:52 +00:00
Andi Gutmans
9b42296bab - Remove unused function 2000-11-13 18:14:16 +00:00
Andi Gutmans
4004ef6f25 - Use typedef's for function pointers so that we can easily define arrays
- of these function pointers.
2000-11-13 17:30:42 +00:00
Stanislav Malyshev
124569d167 Fix zend_llist_apply_with_del - it should remove from list,
not only call dtor
2000-11-13 14:55:28 +00:00
Zeev Suraski
20ab5c58c7 Test, ignore 2000-11-12 17:21:14 +00:00
Andi Gutmans
1ccf94066c - Move SET_UNUSED() to header 2000-11-11 17:59:47 +00:00
Andi Gutmans
86a13dd94e - Beautify by using the standard #define. 2000-11-11 17:41:28 +00:00
Andi Gutmans
5e33cdaef3 - Remove this damn thing once again. 2000-11-10 11:48:12 +00:00
Andi Gutmans
f950a3724c - Maybe it's OK now? :) 2000-11-09 23:54:18 +00:00
Andi Gutmans
113a5bb8c2 - Undo the previous commit for fixing $obj = new foo(). 2000-11-09 23:43:21 +00:00
Andi Gutmans
d9d4824cd3 - Commit experimental patch to fix the problem when doing $a = new foo()
and the constructor assigns $this by reference to other symbol table
  elements. Thanks to Daniel J. Rodriguez on this one.
2000-11-09 22:11:14 +00:00
Zeev Suraski
41d83c5d95 Add ability to find extensions by name 2000-11-08 14:25:42 +00:00
Sascha Schumann
5360d78278 Kill a misleading warning which is intended for old code
which assumes sizeof(int) == sizeof(void *).
2000-11-06 23:40:48 +00:00
Andi Gutmans
1f03630846 - Add trailing \n? 2000-11-03 08:39:39 +00:00
Zeev Suraski
313a459af3 Fix for bug #5571 (by mookid@sigent.ru) 2000-11-03 02:45:55 +00:00
Andi Gutmans
a3a0fe3797 - Fix dependency. 2000-11-03 00:52:20 +00:00
Zeev Suraski
471d070c94 Fix build 2000-11-03 00:38:33 +00:00
Zeev Suraski
4d3fc68f11 Add RESVAL macros 2000-11-03 00:35:12 +00:00
Zeev Suraski
6053f2a118 Fix bug #7599 2000-11-02 23:17:55 +00:00
Zeev Suraski
464a561bb0 Missed those 2000-11-02 19:31:21 +00:00
Zeev Suraski
f1a9920bcf Maintain consistency 2000-11-02 19:27:55 +00:00
Andi Gutmans
ce501c78a8 - Replace do_exit() with zend_do_exit().
- Problem reported by David Hedbor <david@hedbor.org>
2000-11-02 18:42:54 +00:00
Zeev Suraski
3dd6c2d96f Remove unnecessary variables 2000-11-02 11:33:34 +00:00
Zeev Suraski
4462bc2e2d explicit declaration here too - sigh, way too early in the morning 2000-11-02 10:28:17 +00:00
Zeev Suraski
94042d6848 oops 2000-11-02 10:26:03 +00:00
Zeev Suraski
c42564f780 explicit declaration 2000-11-02 10:24:34 +00:00
Zeev Suraski
0ee12a6488 Fix Apache build 2000-10-31 18:28:04 +00:00
Zeev Suraski
dfe57b01a2 Remove unnecessary code, fix phpinfo() 2000-10-31 16:06:30 +00:00
Zeev Suraski
9e2a591ac6 Require bison 1.28 2000-10-31 14:54:16 +00:00
Zeev Suraski
4171da016c Fix non-thread-safe Windows build 2000-10-30 23:37:50 +00:00
Zeev Suraski
9596255da8 Final touches on the INI parser 2000-10-30 23:19:48 +00:00
Stanislav Malyshev
76ede5ce5c Another attempt to make it build 2000-10-30 15:27:32 +00:00
Stanislav Malyshev
47a84052e5 Fix build
# At least, it compiles now...
2000-10-30 12:14:37 +00:00
Zeev Suraski
3c06816532 Fix leaks 2000-10-29 23:10:04 +00:00
Zeev Suraski
ab3beffad7 The new INI parser is showing some signs of life 2000-10-29 22:40:01 +00:00
Zeev Suraski
d0fbddcc2b Fix a corruption bug, when erroneously allowing to send non-variables by reference (several
bug-db reports seem to originate in this bug)
2000-10-29 19:16:29 +00:00
Zeev Suraski
366c16e561 Fix build 2000-10-29 18:30:00 +00:00
Zeev Suraski
f3243082a3 Forgot this one 2000-10-29 18:26:21 +00:00
Zeev Suraski
6b4c369164 Generalization work 2000-10-29 18:23:51 +00:00
Stanislav Malyshev
ca07586e1e Allow module to proclaim compatibility with any Zend version 2000-10-29 16:25:16 +00:00
Zeev Suraski
e04fd648a6 Some more work on the INI parser/scanner 2000-10-29 15:13:20 +00:00
Zeev Suraski
9041d4eedd Initial step in rewriting the INI parsing mechanism 2000-10-29 14:56:16 +00:00
Zeev Suraski
7b0d92dd18 Unify the names of these last 3 files... 2000-10-29 14:35:34 +00:00
Zeev Suraski
19dad410ec Fix Windows build 2000-10-29 11:56:42 +00:00
Zeev Suraski
1fd09132c2 Initial steps to move the INI mechanism to the Zend engine 2000-10-29 11:38:26 +00:00
Andrei Zmievski
f136e5cf08 Added macros for object properties and class entry. 2000-10-27 14:13:03 +00:00
Andi Gutmans
2946f87f00 - Fix new -m on Windows 2000-10-26 23:50:17 +00:00
Andrei Zmievski
84681b9c81 Remove the patch to register_list_destructors(). 2000-10-25 17:41:34 +00:00
Andrei Zmievski
dadb140e2f - Fixed a bug in zend_rsrc_list_get_rsrc_type()
- Switched register_list_destructors() to use
  zend_register_list_destructors_ex() instead
2000-10-20 18:26:15 +00:00
Andi Gutmans
c13cfa040d - Constant expressions which are used multiple times need to be copy_ctored 2000-10-19 09:36:53 +00:00
Andi Gutmans
a9655b77ab - Fix whitespace 2000-10-18 20:17:18 +00:00
Andi Gutmans
928da71046 - Try #2. Wasn't allowed to delete in the previous manner because we were
in the middle of an llist_apply()
2000-10-18 20:15:53 +00:00
Sascha Schumann
ffc6e72604 Add explicit conversion from 'void *', otherwise ANSI C++ compilers
will break out.
2000-10-18 19:53:43 +00:00
Andi Gutmans
a953f6bc5b - Fix crash 2000-10-18 19:48:17 +00:00
Andi Gutmans
610edbc7de - Fix copy&paste bug 2000-10-17 18:25:10 +00:00
Andi Gutmans
54754242da - Increase op_array size faster and make eralloc() it in the end to save
memory.
2000-10-15 19:52:01 +00:00
Andi Gutmans
154052ff15 - Add another patch from Sterling. 2000-10-14 19:48:53 +00:00
Andi Gutmans
5c6593b505 - Preliminary commit of Sterlings get_defined_functions()/get_defined_vars
functions
2000-10-14 15:52:24 +00:00
Andi Gutmans
b8cadf21db - Only run startup() if ZEND_EXTENSIONS is defined to 1.
This fixes a link error on platforms which don't support libdl
2000-10-14 00:16:46 +00:00
Andi Gutmans
bc37c9b1cd - Make increment of "" become "1" 2000-10-13 16:24:00 +00:00
Andi Gutmans
e9887156cf Don't use 'new' symbol 2000-10-11 19:11:48 +00:00
Zeev Suraski
dee2d85e77 Fix -a interactive mode (no idea how the previous commit got committed) 2000-10-11 18:51:52 +00:00
Zeev Suraski
48167d2b21 *** empty log message *** 2000-10-11 18:36:02 +00:00
Zeev Suraski
84f81c50ba Update version 2000-10-11 17:40:40 +00:00
Zeev Suraski
9aa38aad45 Add zend_hash_merge_ex(), for selective merging 2000-10-11 16:22:40 +00:00
Andi Gutmans
996bd9300b - Fix Bug #7061 2000-10-06 17:34:50 +00:00
Andi Gutmans
d84c5a2238 - Updated included_files() also for plain include()/require(). 2000-10-05 17:58:46 +00:00
Andi Gutmans
6d92ac275d - Fix fprintf 2000-10-04 19:29:28 +00:00
Andi Gutmans
fe550afba6 - Change zend_extension_api_no 2000-10-02 20:08:46 +00:00
Andi Gutmans
ab8c6ed967 - Cleanup error output 2000-09-30 16:24:53 +00:00
Andi Gutmans
c4fd954b8a - Another has optimization/fix like the hash_copy one from earlier on 2000-09-28 23:21:08 +00:00
Stanislav Malyshev
56c474cf48 Make hash_copy call copy constructor on a real copy, not on a temp 2000-09-28 15:17:50 +00:00
Andi Gutmans
b4ac6f4fdd - Remove zend_gcc_inline.c 2000-09-28 06:40:57 +00:00
Sascha Schumann
99771d91ce Remove --enable-c9x-inline option. We now use a syntax which is compatible
with all compilers by providing the function with static linkage in every
compilation unit.
2000-09-26 11:10:11 +00:00
Zeev Suraski
309827ec1d Fix previous update - move extension startup further down the startup sequence 2000-09-25 18:10:45 +00:00
Zeev Suraski
59d3eb5f24 Move extension startup further down the startup sequence 2000-09-25 17:02:05 +00:00
Andi Gutmans
813f7b58d6 - Add Z_BVAL* macros 2000-09-19 18:18:26 +00:00
Stanislav Malyshev
d9d65f18e9 Fix crash on Solaris with function parameter destruction 2000-09-19 17:27:56 +00:00
Stanislav Malyshev
5918218872 Made get_included_files() work again, in somewhat different way 2000-09-18 13:43:20 +00:00
Stanislav Malyshev
2158bbfa7f Set filename even on recursive include 2000-09-17 08:58:39 +00:00
Andi Gutmans
5418b59681 - Fix NULL handling in ARRAY opcode and resolve memory leak 2000-09-14 20:30:06 +00:00
Zeev Suraski
5286b3971c Make compile_string() accept a description of the code 2000-09-12 19:47:25 +00:00
Andi Gutmans
5348058938 - Forgot to create extended info in include()/require() call 2000-09-11 15:15:57 +00:00
Stanislav Malyshev
e7402d7a50 Allow require_once to take expressions, just like require 2000-09-10 11:24:45 +00:00
Stanislav Malyshev
a05c35b802 Try once more to remove dups 2000-09-10 09:49:55 +00:00
Stanislav Malyshev
bb030e6fa8 Test commit - weed out duplicate messages 2000-09-10 09:49:02 +00:00
Zeev Suraski
4acff8f37f Don't use unsafe sprintf() 2000-09-09 15:06:38 +00:00
Stanislav Malyshev
d10336ec0e Don't trust snprintf return 2000-09-08 13:19:51 +00:00
Andi Gutmans
180c337885 - Save two lines 2000-09-06 18:42:06 +00:00
Andi Gutmans
6d32e7e59b - Fix header 2000-09-06 18:38:36 +00:00
Sascha Schumann
5669b2dd26 Unless overwritten, default to no optimization in debug mode. 2000-09-06 18:37:39 +00:00
Andi Gutmans
715774bed7 - Commiting Sterling's new multi_convert* functions 2000-09-05 17:55:57 +00:00
Andrei Zmievski
0fd8685c64 Fix memory overrun. 2000-09-05 14:58:14 +00:00
Stanislav Malyshev
951eb9079c Fix crash with trigger_error having no args (#6549) 2000-09-05 12:08:41 +00:00
Andi Gutmans
85181ac512 - Remove two tabs 2000-09-04 04:02:17 +00:00
Andi Gutmans
570e7e9a13 - Defining TSRM_WIN32 in each and every dsp sucked. Revert this change 2000-09-02 16:28:25 +00:00
Andi Gutmans
8d7faf6c12 - Fix windows build 2000-09-02 15:56:18 +00:00
Andi Gutmans
f826cc3bdd - This should fix the performance problem with Release builds 2000-08-31 23:49:36 +00:00
Andi Gutmans
27de50012b - Use emalloc() for opened_path now. This was a potential leak before.
- This patch has potential to break stuff but I tested it as much as I
- could. Fixes should be easy.
2000-08-31 22:24:20 +00:00
Andi Gutmans
1b282b3521 - Remove support for __string_value() in print $obj 2000-08-31 19:50:19 +00:00
Zeev Suraski
99af3ed8ef Safer shutdown process 2000-08-31 16:01:31 +00:00
Andi Gutmans
e7f10a41f2 - Update Zend version. 2000-08-29 15:48:55 +00:00
Andi Gutmans
1192fe545f - Don't define this function in non-debug mode 2000-08-26 14:45:29 +00:00
Andi Gutmans
fbbc249f2b - Revert patch from 9/7/2000 which seems to have broken unset().
- I hope what made me do this patch doesn't appear again.
2000-08-24 19:03:35 +00:00
Andi Gutmans
207814916d - Fix bug report by Andrei when using a method as a sort user function
- parameter in usort() like functions
2000-08-22 18:35:42 +00:00
Zeev Suraski
1d0f45ea6b Fix Win32 build 2000-08-20 22:19:58 +00:00
Sascha Schumann
9b9f9fa4dd _isnan seems to be supported on Win32, add an appropiate macro. 2000-08-20 08:31:34 +00:00
Sascha Schumann
9e6e64955f If available, use fpclassify for substituting zend_finite. 2000-08-20 07:12:48 +00:00
Sascha Schumann
6aada077a0 Including math.h before using macros defined there will work better :) 2000-08-20 06:09:07 +00:00
Sascha Schumann
1f84023b05 Add zend_isinf and zend_isnan. 2000-08-20 06:07:42 +00:00
Andrei Zmievski
0691afb08c One more fix to C compile. 2000-08-19 18:13:52 +00:00
Zeev Suraski
595ca6b588 Fix C build 2000-08-19 18:05:15 +00:00
Zeev Suraski
f8d74acd93 Fix eval() leakage in ZTS mode 2000-08-19 17:58:04 +00:00
Zeev Suraski
c34f41b7c5 Eliminate run-time leak with eval()'s 2000-08-19 17:50:42 +00:00
Zeev Suraski
79b0a56c51 Fix build with no memory_limit 2000-08-19 16:51:30 +00:00
Zeev Suraski
07b5d74022 Fix memory_limit 2000-08-19 16:35:02 +00:00
Andi Gutmans
c698e14635 - Beautify 2000-08-19 15:16:53 +00:00
Stanislav Malyshev
1f793fd06c Fix EMPTY_STRING macros 2000-08-17 08:48:16 +00:00
Zeev Suraski
7795aca4ca Fix warning issue (compile errors inside require()'d files were incorrectly supressed) 2000-08-15 16:44:40 +00:00
Zeev Suraski
636d126e16 - Fix leak and some logic 2000-08-14 20:16:27 +00:00
Andi Gutmans
e46ea8864c - This patch should hopefully fix situations where a constructor uses
- the $this pointer as a reference.
2000-08-14 19:17:26 +00:00
Stanislav Malyshev
9e750e64b9 Fix crash 2000-08-14 09:06:56 +00:00
Andi Gutmans
e1a3604103 - Unused results should be marked with EXT_TYPE_UNUSED and not IS_UNUSED 2000-08-14 04:10:02 +00:00
Stanislav Malyshev
5090b1e8d5 Fix zend_fiel_handle handling. Should fix URL include
and various opened_path inconsistencies.
2000-08-13 18:00:50 +00:00
Andi Gutmans
caa3b6c9b6 - Revert foreach() change which only allowed variables and array(...) 2000-08-13 04:19:44 +00:00
Andi Gutmans
2336c0148e - Only support variables and array(...) in foreach loops 2000-08-11 09:56:28 +00:00
Andi Gutmans
e5015ed581 @ Fix problem with nested foreach()'s (Andi, Zend Engine) 2000-08-10 22:08:02 +00:00
Andi Gutmans
a1adc81f30 @ Fix switch which only has a default rule (Andi, Zend Engine)
@ Change require_once() to use the same file list as include_once().
@ Patch includes making require() & include() to behave the same when it
@ comes to scoping. require() is now an include() which isn't allowed to fail.
@ require() caused too many memory reallocations which ended up being quite
@ slow for sites that required lots of files. (Andi & Zeev, Zend Engine)
- Fix switch() which only has default rule (bug #5879,
2000-08-10 20:42:57 +00:00
Zeev Suraski
7dcf456dd6 that too 2000-08-09 19:25:01 +00:00
Zeev Suraski
0855453e83 Update API number 2000-08-09 19:23:38 +00:00
Zeev Suraski
c06692e9ec The patch we promised - redesigned the compilation/execution API:
Advantages:
- Smaller memory footprint for the op arrays
- Slightly faster compilation times (due to saved erealloc() calls and faster zend_op
  initialization)
- include_once() & require_once() share the same file list
- Consistency between include() and require() - this mostly means that return()
  works inside require()'d files just as it does in include() files (it used to
  be meaningless in require()'d files, most of the time (see below))
- Made require() consistent with itself.  Before, if the argument was not a constant
  string, require() took the include() behavior (with return()).
- Removed lots of duplicate code.
Bottom line - require() and include() are very similar now;  require() is simply an include()
which isn't allowed to fail.  Due to the erealloc() calls for large op arrays, require()
didn't end up being any faster than include() in the Zend engine.
2000-08-09 19:22:35 +00:00
Andi Gutmans
50ddf9e3d5 - Use some more SEPARATE_ZVAL macros instead of replicated code. 2000-08-05 13:54:07 +00:00
Stanislav Malyshev
8b9ecac2dc Fix memory leak 2000-08-05 11:06:00 +00:00
Andi Gutmans
fcdc025d11 - Beautify code. Try and use more macros for splitting instead of
- replicating the code everywhere.
2000-08-04 08:11:54 +00:00
Andi Gutmans
5ae343b752 - Remove commented code 2000-08-02 17:51:42 +00:00
Zeev Suraski
735a0d148e Fix filename issues 2000-07-29 10:44:13 +00:00
Stanislav Malyshev
2c95b113bd Make define return false and issue E_NOTICE when trying to redefine constant
@- Make define return false and issue E_NOTICE when trying to redefine constant (Stas)
2000-07-28 09:44:46 +00:00
Andi Gutmans
290525fdcd Always store full filename as compiled file name 2000-07-27 15:36:54 +00:00
Zeev Suraski
a30cde3de5 Fix a possible issue with runtime inheritence under fairly rare circumstance
and optimize a tiny bit
2000-07-26 18:23:30 +00:00
Stanislav Malyshev
1373a16280 Add strncasecmp function
@ Added strncasecmp function (Andi)
2000-07-26 11:32:15 +00:00
Zeev Suraski
58e1dd2ee8 Forgot to link this function... 2000-07-18 20:32:39 +00:00
Zeev Suraski
a650dd8a19 This is probably the oldest bug in PHP :)
Luckily it's unlikely we're ever actually bitten by this bug.
2000-07-18 20:08:06 +00:00
Andi Gutmans
4066a197be - Beautify Zeev's patch a bit. 2000-07-16 22:33:42 +00:00
Zeev Suraski
808f8ed306 Implement parent::foo() 2000-07-16 16:40:21 +00:00
Zeev Suraski
b4266edb07 Add more extended_info calls 2000-07-15 15:41:20 +00:00
Zeev Suraski
55d313db99 Improve register_resource_ex() infrastructure 2000-07-14 20:00:24 +00:00
Thies C. Arntzen
7f4909d9f5 fix ZTS startup without filename (thanx purify!) 2000-07-12 16:37:46 +00:00
Thies C. Arntzen
372f71eb1a unset active_symbol_table on zend-shutdown. 2000-07-12 12:00:17 +00:00
Zeev Suraski
3513866627 Another persistent hash - disable apply protection 2000-07-11 14:47:34 +00:00
Zeev Suraski
1263932a0d Disable the hash_apply() protection on hashes that persist across requests - it's unsafe
because we may be aborted at any point
2000-07-11 14:27:31 +00:00
Stanislav Malyshev
148317f979 Fix a bug in passing second parameter of RECV_INIT with is_ref set 2000-07-11 13:23:48 +00:00
Andi Gutmans
f4e2a900d6 - Oops. Too early in the morning 2000-07-11 04:15:35 +00:00
Andi Gutmans
e95220e722 - Include iostream.h in C++. 2000-07-11 04:07:18 +00:00
Andi Gutmans
c1ed6ef9cc - Fix memory leak. 2000-07-09 20:21:20 +00:00
Andi Gutmans
40b31d7487 - Need to seperate if the hash isn't a reference 2000-07-09 17:12:37 +00:00
Andi Gutmans
1cce5ed178 - Add zend_ulong 2000-07-08 15:49:39 +00:00
Stanislav Malyshev
be59613ddf Remove C++ commennts. 2000-07-07 09:50:50 +00:00
Andi Gutmans
4eba5f1d39 - Remove code which has never been used (neither in PHP 3) 2000-07-06 23:31:19 +00:00
Andi Gutmans
80121ead56 - Make is_method_call() static and remove a couple of old lines 2000-07-06 23:28:05 +00:00
Andi Gutmans
58d1e0a2cc - Yet another fix... 2000-07-06 23:00:46 +00:00
Andi Gutmans
db8734c82f - One more... 2000-07-06 22:38:01 +00:00
Andi Gutmans
af5d38214b - One more fix for the latest patch 2000-07-06 22:29:06 +00:00
Andi Gutmans
2787a746f4 - One dumb bug in my latest patch 2000-07-06 22:21:24 +00:00
Andi Gutmans
5f893e68ff - Complex fix for solving a problem with objects & method calls.
- Previous version is tagged PRE_METHOD_CALL_SEPERATE_FIX_PATCH.
- I need to check this fix on a server so if it doesn't work I will revert
- it.
2000-07-06 22:08:22 +00:00
Andi Gutmans
45ca7ec17d - Fix problem with newlines not being recognized under certain conditions 2000-07-06 16:19:36 +00:00
Andi Gutmans
6d6d52551e - Fix bug #4120 2000-07-03 19:17:57 +00:00
Stanislav Malyshev
91130b6a00 Unblock SIGPROF signal when starting timer.
On Linux, this signal is blocked by default after first signal is run
2000-07-03 16:53:39 +00:00
Sascha Schumann
a61721741b Replace macros which begin with an underscore through an appropiately
named macro.
2000-07-03 00:55:36 +00:00
Sascha Schumann
b982307dd1 Change header protection macros to conform to standard.
Draft 3 of IEEE 1003.1 200x, "2.2 The Compilation Environment"

    All identifiers that begin with an underscore and either an uppercase
    letter or another underscore are always reserved for any use by the
    implementation.
2000-07-02 23:54:19 +00:00
Andi Gutmans
4f88e66167 - Take #2 with tab size 4 2000-07-02 16:06:45 +00:00
Andi Gutmans
e3c5f6e890 - Beautify parser a bit. It still could do with some more at some point 2000-07-02 16:00:00 +00:00
Andi Gutmans
b72a2738dc - Forgot ZEND_API 2000-07-02 15:39:54 +00:00
Zeev Suraski
b3b67b04b7 Add a messagebox style that's safe to use from an ISAPI filter 2000-06-30 12:55:00 +00:00
Zeev Suraski
fde2e61d54 error_reporting fix 2000-06-30 11:45:32 +00:00
Zeev Suraski
f34b9d41be Add $context argument to error handler 2000-06-29 15:07:59 +00:00
Zeev Suraski
a31dc47ae4 Improve error handling code 2000-06-28 22:08:47 +00:00
Zeev Suraski
100196face Be HTML friendly 2000-06-28 21:31:50 +00:00
Andi Gutmans
3860254631 version update 2000-06-28 18:32:13 +00:00
Zeev Suraski
8e45536cf4 Make it possible to detect whether we're thread safe or not from PHP scripts and the php.ini
file
2000-06-26 18:15:33 +00:00
Andi Gutmans
1a22c1eb86 - Add another "\n" at the end of error messages. 2000-06-26 15:37:28 +00:00
Zeev Suraski
202b8100ab Make max_execution_time work properly when set to 0 under Win32 (disable) 2000-06-26 15:17:36 +00:00
Andi Gutmans
f311ab1608 - I wrote a long msg but the commit didn't go through.
- So here is the short version:
- a) Start moving to binary opens in Windows
- b) Give checkuid_mode() a small face lift including the fopen-wrappers.c
- The mode to this function should at least be a #define but that is for
- another day. Anyway this whole stuff should be given more face lifts in
- the future.
2000-06-25 17:05:22 +00:00
Zeev Suraski
b896825e8f Nuke a warning 2000-06-24 22:11:11 +00:00
Andi Gutmans
684dca9aca - Not returning a value anymore 2000-06-23 00:11:54 +00:00
Andi Gutmans
fd7dc3024c - Don't need SUCCESS/FAILURE anymore 2000-06-23 00:07:05 +00:00
Andi Gutmans
947e17b1da - Add license 2000-06-23 00:04:53 +00:00
Andi Gutmans
56adbffdbf - Commit static allocator structure which we might use in an upcoming Zend
- change
2000-06-23 00:04:05 +00:00
Andi Gutmans
63526e633e - Fix asp_tags. 2000-06-22 23:00:01 +00:00
Andi Gutmans
e16710f1b5 - Oops I miss-wrote that field 2000-06-22 18:50:55 +00:00
Andi Gutmans
a536df5327 - Change API version and make the error messages more meaningful. 2000-06-22 18:47:39 +00:00
Andi Gutmans
93e9520314 - Change cache size and only initialize part of it. 2000-06-22 18:33:09 +00:00
Stanislav Malyshev
bb57053f76 Cached-freed memory blocks should not be in "occupied" list 2000-06-22 17:51:14 +00:00
Stanislav Malyshev
7f87a319aa Make cache counters to be unsigned int
Start collecting statistics after cache pre-fill
2000-06-22 09:17:38 +00:00
Sascha Schumann
15925864b2 fp_except check for FreeBSD 1.0-2.2.5 2000-06-18 16:51:42 +00:00
Sascha Schumann
0404a02430 Welcome zend_finite(n).
This chooses the best combination of what is available:

finite, isfinite, isinf, isnan
2000-06-18 16:33:15 +00:00
Stanislav Malyshev
536221be39 Make error callback be publicly accessible 2000-06-18 16:02:32 +00:00
Andi Gutmans
4a6869c98e - Better FreeBSD fix. Does fp_except_t exist on 3.4? 2000-06-18 15:44:23 +00:00
Andi Gutmans
53a5eccf66 - I don't know how this happened. I tested the bloody thing and I remember
- copy&pasting from code which used ~.
2000-06-18 04:22:12 +00:00
Zeev Suraski
34c2b0a07c - Add restore_error_handler()
error_handler's are now stored in a stack
2000-06-17 18:04:58 +00:00
Zeev Suraski
3cda6a750e Allow the symbol_table to be passed to call_user_function_ex() 2000-06-17 16:50:38 +00:00
Zeev Suraski
7957b20b48 Fix filenames and line numbers in ZTS mode 2000-06-17 14:12:58 +00:00
Zeev Suraski
38cdb8e7b7 Avoid crashing with recursive applies - limit apply nest level to 3 (I'm not aware of a place
in which applying recursively on the same hash makes sense with more than one nest level, but
3 should be enough)
2000-06-17 14:11:57 +00:00
Zeev Suraski
84eb48f0a1 Ok, this time here's some real Win32 system programming :)
Redesigned the timeout system using a single timeout thread and a single window,
and used a much quicker check.
2000-06-16 14:27:28 +00:00
Andi Gutmans
ae11748038 Fix UNIX build 2000-06-16 02:49:21 +00:00
Zeev Suraski
a6d9b5ed18 Macro it up the right way 2000-06-16 02:48:35 +00:00
Zeev Suraski
b791918443 Macro this up, so it can be moved to other places 2000-06-16 02:47:00 +00:00
Zeev Suraski
ef0bd3d102 - Move timeout code to Zend
- Implement timeouts in Win32
2000-06-16 01:54:56 +00:00
Zeev Suraski
8b794bb1dd Fix non thread-safe mode - asp_tags/short_tags etc weren't getting initialized properly 2000-06-15 19:18:57 +00:00
Andi Gutmans
e1705c0810 *** empty log message *** 2000-06-15 19:09:51 +00:00
Andi Gutmans
447bf163ef - Support multiple arguments to unset() 2000-06-15 18:48:33 +00:00
Thies C. Arntzen
3ad9d62949 ups. 2000-06-15 18:23:18 +00:00
Thies C. Arntzen
565400780b changed return type of ZEND_VERIFY_RESOURCE from FALSE to NULL 2000-06-15 18:15:51 +00:00
Sascha Schumann
7565347ba0 Move some stuff to zend_operators.h which is required by the
moved inline functions.
2000-06-14 19:55:32 +00:00
Andi Gutmans
988435cf04 - More correct way of doing bit mask 2000-06-14 19:10:30 +00:00
Sascha Schumann
17fe680117 Only replaced C0X and C0x, but not c0x.. 2000-06-14 07:08:08 +00:00
Sascha Schumann
35f43ad274 Rename C0x-inline to C9x-inline, and frame preprocessor directives in
zend_gcc_inline.c with #ifndef C9X_INLINE_SEMANTICS..#endif.
2000-06-14 07:06:33 +00:00
Andi Gutmans
239d30bbee - Make Win32 build 2000-06-14 04:10:34 +00:00
Andi Gutmans
727398b2d4 Add to the API 2000-06-13 19:01:22 +00:00
Sascha Schumann
df74f1dfab Add optional support for C0x inline semantics.
These are enabled by specifying `--enable-c0x-inline' on the command
line. We might add an autoconf check for this particular feature
later.
2000-06-13 17:58:33 +00:00
Sascha Schumann
13692ff313 Add llist_apply_func_t and make prototypes use the typedefs. 2000-06-13 09:18:06 +00:00
Zeev Suraski
6b8059afe9 Make Egon happy :) 2000-06-12 22:03:53 +00:00
Zeev Suraski
e962769fee Return the previous error handler from set_error_handler() 2000-06-12 20:31:02 +00:00
Zeev Suraski
fce92e3ca2 Avoid using E_CORE_* errorlevels in any place which is not in the global startup sequence 2000-06-12 20:22:17 +00:00
Zeev Suraski
968d2c5b33 Get rid of <?php_track_vars?> 2000-06-12 16:07:15 +00:00
Andi Gutmans
1f5ee72e2d - Solve floating point precision crash on FreeBSD. 2000-06-11 18:07:14 +00:00
Andi Gutmans
5928970d22 - Fixes crash problem on FreeBSD when losing precision. Need to still see
- how to detect we're on FreeBSD
2000-06-11 17:45:19 +00:00
Zeev Suraski
07a8327a0e Fix zend_get_parameters() 2000-06-11 16:19:31 +00:00
Andi Gutmans
390dccacac - Fixed problem when using uninitialized values in comparisons with strings.
-  They behave as empty strings again just like in PHP 3.
2000-06-10 14:39:06 +00:00
Zeev Suraski
53bdf0b5cc I can't think of a reason of why it should just be a notice... Make it a warning, like it was in PHP 3. 2000-06-10 01:12:12 +00:00
Zeev Suraski
a29791411b Fix bug #4768 2000-06-10 01:08:55 +00:00
Andrei Zmievski
b51aa1f36f Made an alias for hash apply with arguments. 2000-06-09 20:18:16 +00:00
Andi Gutmans
ae19180641 - Forgot to remove the FIXME 2000-06-09 17:52:09 +00:00
Andi Gutmans
717acfe9c5 - Make the memory limit accurate 2000-06-09 17:51:37 +00:00
Andi Gutmans
605b1aa394 - Fix cache initialization 2000-06-09 16:08:30 +00:00
Andi Gutmans
9fb095b50e - Allocate and cache in 8 byte blocks. Most allocators anyway use 8 byte
- blocks. This should help fragmentation and cache hits.
- The old tree is tagged as PRE_EIGHT_BYTE_ALLOC_PATCH
2000-06-09 15:54:14 +00:00
Zeev Suraski
03e842ccb8 Fix bug #4933 2000-06-09 15:42:49 +00:00
Zeev Suraski
fddf89aff7 Fixed bug #4819 2000-06-09 15:40:37 +00:00
Andi Gutmans
6bcc8ff0c7 - Time to change it. We changed register_internal_class() ->
- zend_register_internal_class()
2000-06-09 14:41:33 +00:00
Andi Gutmans
eb0e694665 - Andrei, this is for you!
- Add zend_register_internal_class_ex() which allows you to specify a
- parent to inherit from. You can either specify the parent directly or via
- its name.
2000-06-09 14:40:14 +00:00
Andi Gutmans
99b4051eca - Typo 2000-06-09 13:36:36 +00:00
Andi Gutmans
edd7025645 - Remove old obsolete code. 2000-06-09 13:08:40 +00:00
Andi Gutmans
a712da5cee - Make unset consistent with the way array offsets work 2000-06-09 13:07:26 +00:00
Stanislav Malyshev
e346a6b538 Handle unset with empty key 2000-06-09 10:59:21 +00:00
Andi Gutmans
6ce07a85e4 - Change register_internal_class to zend_register_internal_class for
- consistency.
- Andrei: I'm still thinking about the _ex you want me to implement
2000-06-09 08:41:59 +00:00
Sascha Schumann
b4e48b952e Clean up acconfig.h 2000-06-08 06:12:26 +00:00
Sascha Schumann
039551788b Add a couple of casts 2000-06-08 06:07:38 +00:00
Zeev Suraski
98bf43f229 Enable asp_tags/short_tags/allow_call_time_pass_by_reference to work on a per-directory
basis as well
2000-06-06 19:13:54 +00:00
Sascha Schumann
458352954d Add newline at the end of the file (breaks at least SCO and Tru64 C compiler). 2000-06-06 02:47:43 +00:00
Andi Gutmans
d8d6ff3c4c - Revert internazionalization fix. 2000-06-05 15:37:30 +00:00
Andi Gutmans
f8983e467f - Complete change to create_function() 2000-06-05 06:52:02 +00:00
Zeev Suraski
1c36e3472f Change shutdown order to sort out a crash when assigning a resource id to a static. 2000-06-04 22:09:16 +00:00
Zeev Suraski
bfac4633a5 - Support unordered hash comparisons
- Make == perform an unordered comparison with arrays/objects, and === perform an ordered comparison
2000-06-04 21:59:49 +00:00
Zeev Suraski
b7a8baf1bb Rename lambda() 2000-06-04 21:30:56 +00:00
Zeev Suraski
dae76aa1b5 Support comparisons of arrays (with arrays) and objects (with objects) 2000-06-03 10:34:19 +00:00
Andi Gutmans
01d478ba56 - Change #if to #ifdef. 2000-06-03 07:34:20 +00:00
Zeev Suraski
2ffe85ddac Don't take chances with new include files 2000-06-03 04:14:31 +00:00
Zeev Suraski
5a35a6bafc Improve call_user_function() to support array($obj, $method) 2000-06-03 03:28:08 +00:00
Zeev Suraski
d4b160c0d6 - Export normalize_bool
- This global/static syntax fix brought us back to the 4 documented conflicts
2000-06-03 03:05:01 +00:00
Zeev Suraski
e374f6fd31 Fix a lambda() bug 2000-06-03 02:02:09 +00:00
Zeev Suraski
70345bd222 Add missing { 2000-06-03 01:50:15 +00:00
Zeev Suraski
0b7a9cea88 - Fix Win32 compilation (Use winsock2.h from now on)
- Add lambda() support
2000-06-03 01:49:49 +00:00
Andi Gutmans
1b993610c1 - global/static require a trailing ';' 2000-06-02 16:50:19 +00:00
Zeev Suraski
746f01802d Update error code 2000-06-02 12:36:54 +00:00
Zeev Suraski
8a8c3eafc8 Nuke the old error code, use the new one 2000-06-02 12:21:49 +00:00
Zeev Suraski
898c8ead87 IS_BC isn't really being used, but still... 2000-05-31 19:08:18 +00:00
Zeev Suraski
13b67621cf Fix a bug in static initializers/default values/class member variables that contained
array values
2000-05-31 19:07:09 +00:00
Zeev Suraski
bc7abb3300 Allow disabling of functions for security reasons 2000-05-29 17:16:52 +00:00
Andi Gutmans
015884dda5 - Use pointer arithmetic to speed up the function a bit 2000-05-28 18:59:40 +00:00
Andi Gutmans
0ebb7335c9 - This should have been done for 4.0.0.
- Default build is without debug now. Use --enable-debug if you want a
- debug build which includes leak/memory overwrite etc. detection
2000-05-28 17:39:30 +00:00
Andi Gutmans
b5447a4d7a - Fixed scanning decimal numbers in internationalized environments. They should
- always be in standard US format e.g. 23.3
2000-05-26 07:49:56 +00:00
Zeev Suraski
385d1aa664 Fix a crash bug in certain situations of class redeclarations 2000-05-25 16:26:22 +00:00
Thies C. Arntzen
9b916e6a48 rename hastable -> _hashtable to avoid clashes 2000-05-24 09:52:57 +00:00
Thies C. Arntzen
78a1fdfcaa add rdbuf() to our own istdiostream implementation, allowing C++ compile
using SUN and SGI native compilers. (by Jayakumar Muthukumarasamy <jk@kasenna.com>)
2000-05-24 09:44:02 +00:00
Zeev Suraski
0302ee5992 - Remove ugly Ltd. 2000-05-22 16:55:56 +00:00
Sam Ruby
c5cf13eb29 Windows build failure 2000-05-21 19:26:50 +00:00
Andi Gutmans
a8b0d9609c - Fix Apache php source highlighting mode. It was crashing due to the
- module shutdown functions being called when the startup functions weren't
- being called.
2000-05-21 17:41:16 +00:00
Andi Gutmans
cc590f49f2 - Get ready for release 2000-05-21 16:29:38 +00:00
Zeev Suraski
c80906e4cc Open these up for the API 2000-05-19 09:32:33 +00:00
Zeev Suraski
957327e8bc Do it in thread unsafe mode for now. 2000-05-18 14:51:19 +00:00
Sascha Schumann
86c03cceb0 Kill warnings 2000-05-18 12:07:15 +00:00
Andi Gutmans
a786fc4ab7 - Do this someplace else. 2000-05-18 11:25:03 +00:00
Andi Gutmans
715ff77344 - Fix include() when used on resources (shouldn't work but shouldn't crash
either).
2000-05-18 10:21:24 +00:00
Andrei Zmievski
3df1e68fe9 Update for sort functions - user can now specify sort type. 2000-05-18 01:53:41 +00:00
Andi Gutmans
0aefa3e037 - Add support for string_compare_function() and number_compare_function().
UNTESTED!
2000-05-17 18:55:22 +00:00
Zeev Suraski
760a17729e Normalize results of compare_function() 2000-05-17 17:08:25 +00:00
Zeev Suraski
5fcb963f09 Fix crash if %> is encountered in HTML while ASP-tags are disabled 2000-05-17 15:50:30 +00:00
Andi Gutmans
03c844305f Fix order 2000-05-17 15:24:49 +00:00
Sascha Schumann
8669a15755 Add missing prototype 2000-05-17 00:35:08 +00:00
Zeev Suraski
ac0e07ecda - Small optimization. Filling up the Cache helps performance. 2000-05-16 15:42:16 +00:00