Commit Graph

295 Commits

Author SHA1 Message Date
Zeev Suraski
620d013499 Support symbols in any symbol table, not just the active one 1999-07-30 14:17:08 +00:00
Andi Gutmans
447eb3b031 - Damn that's more like it. 1999-07-30 12:27:04 +00:00
Andi Gutmans
2c32cc81dd - Cut&paste crap 1999-07-30 12:23:12 +00:00
Andi Gutmans
e9e7bc6db3 - Add ptr_stack_n_{push,pop} in order to speed up function calls a bit.
There seems to be no reason for stack->top in the ptr_stack except for
  when realloc()'in the stack. I think I'll remove it.
1999-07-30 11:55:53 +00:00
Zeev Suraski
48ffdd79f7 * Setting variables in the global scope wasn't handling is_ref's properly 1999-07-30 02:49:12 +00:00
Andi Gutmans
739132e58d - Fixed a leak when doing inheritance. The parent class name wasn't being freed.
- Fixed a stack leak. Functions that had late argument binding were set up as
  INIT_FCALL_BY_NAME but were using DO_FCALL and not the corresponding
  DO_FCALL_BY_NAME.
1999-07-29 12:24:58 +00:00
Andi Gutmans
741ca16711 - Fixed various inheritance problems & Andrey's leak 1999-07-28 17:59:55 +00:00
Zeev Suraski
879bfc7a34 Inherit parent's constructor 1999-07-27 20:34:31 +00:00
Zeev Suraski
c4bc4871ee Fix runtime inheritence (child functions/members should have higher precedence) 1999-07-27 20:14:58 +00:00
Andi Gutmans
348b2f0730 - Add missing lock 1999-07-27 18:35:22 +00:00
Andi Gutmans
88322d2ea0 - Fix up the new operator a bit more. 1999-07-27 17:30:16 +00:00
Zeev Suraski
9d0d2e5a69 Set reference count and is_ref values for new objects 1999-07-27 00:14:34 +00:00
Zeev Suraski
09628fd51e - Fixed a memory leak when using assignment-op operators with lvalue of type
string (or array/object)
1999-07-26 21:56:45 +00:00
Zeev Suraski
075146773f *** empty log message *** 1999-07-26 21:31:40 +00:00
Zeev Suraski
41308d4b43 Fix a bug in inheritence from classes defined in include files, that are
inherited from require()'d files
1999-07-26 21:18:35 +00:00
Andi Gutmans
7af5579e3f - Oops I erased this by mistake 1999-07-26 19:35:57 +00:00
Andi Gutmans
7d77a63342 - Should be a complete fix now. This break away code should maybe be made
somewhat generic
1999-07-26 19:32:13 +00:00
Andi Gutmans
fe0fbdc5b6 - Temporary fix for "this". Have to fix it tomorrow. 1999-07-26 19:24:54 +00:00
Andi Gutmans
221c80d26d - Fix compile error. Weird that Visual didn't catch this one. 1999-07-26 18:56:54 +00:00
Andi Gutmans
8f51f72dc6 - Fix the new operator incompatibility.
- I commented PHP_FUNCTION(strtotime) in datetime.c because it stopped
  win32 from compiling. This needs to be fixed!!!
- Check out libzend to compile the tree now.
1999-07-26 16:57:06 +00:00
Zeev Suraski
0cdb7d6a29 Fix that memory leak... nested function issue remains 1999-07-24 14:38:05 +00:00
Zeev Suraski
9c754da0fc Fix RETURN & SWITCH memory leak issue 1999-07-24 11:43:21 +00:00
Zeev Suraski
1b6fae101a Thoroughly fix the SWITCH problem. No RETURN handling yet. 1999-07-24 11:24:19 +00:00
Zeev Suraski
028cf1a368 Fix bug #1812 1999-07-23 18:41:58 +00:00
Zeev Suraski
84aa8cce64 * Add an API macro users can use to ensure an array member can be modifed
before they modify it.
* Fix a bug and remove redundant code in convert_to_long() (booleans and
  resources weren't changing their types
1999-07-23 16:02:51 +00:00
Zeev Suraski
5bae591f88 New constants 1999-07-22 22:17:49 +00:00
Stig S. Bakken
f5bfd16b0b identify ourselves 1999-07-22 20:20:11 +00:00
Andi Gutmans
acb9cae36d - Include alloca.h when need and available. 1999-07-20 18:26:56 +00:00
Andi Gutmans
bf8c6dbd99 - Get rid of C++ comments 1999-07-20 13:01:30 +00:00
Zeev Suraski
8d1de13aef 0.91 update 1999-07-19 20:02:12 +00:00
Andi Gutmans
e78fc33c35 * Fix Zend version
* Fix a method call bug
1999-07-19 19:58:44 +00:00
Andi Gutmans
8a9d0fa9eb License update 1999-07-19 17:52:38 +00:00
Andi Gutmans
353a2d38d8 Make error codes PHP 3.0 compatible 1999-07-19 16:17:40 +00:00
Andi Gutmans
e3daad2d67 - Should fix the memory leak when returning from the main scope. 1999-07-18 17:33:51 +00:00
Zeev Suraski
101e1f4c0f Debug on by default 1999-07-17 13:24:53 +00:00
Zeev Suraski
d66fad5fcd Ignore T_PHP_TRACK_VARS in the parser (handled in the scanner) 1999-07-16 16:42:49 +00:00
Zeev Suraski
b5b1117760 License update 1999-07-16 14:58:16 +00:00
Andi Gutmans
91d7ba7610 Change true/false back to 1/"" 1999-07-15 20:38:00 +00:00
Andi Gutmans
da648c0fb1 Fix a lock issue 1999-07-15 19:59:18 +00:00
Sascha Schumann
138dd94c8d disable zend_handle_sigsegv 1999-07-15 12:17:34 +00:00
Andi Gutmans
762158aa65 Fix thread unsafe constants startup 1999-07-14 19:49:19 +00:00
Andi Gutmans
fec59d3b4d - License update
- Fix multithreaded constants startup
1999-07-14 16:00:47 +00:00
Andi Gutmans
078c3ce198 - Fix for boolean convert to number 1999-07-14 09:10:14 +00:00
Andi Gutmans
4dc22e32b6 - Fixed a purify warning 1999-07-12 18:07:01 +00:00
Zeev Suraski
3b037ebbe9 Oh, that dumb bug. 1999-07-10 22:50:44 +00:00
Andi Gutmans
44947bf563 Ok, so we do have to lock in there 1999-07-10 18:46:20 +00:00
Andi Gutmans
fb7a4b6486 Fix assignments of reference variables 1999-07-10 16:56:56 +00:00
Zeev Suraski
dc933fc50b Woops, fix. 1999-07-10 12:44:56 +00:00
Zeev Suraski
909590ba7b Put the garbage in the garbage bin 1999-07-10 11:47:16 +00:00
Zeev Suraski
cccd2445ee Get rid of AiCount completely 1999-07-10 11:45:23 +00:00
Zeev Suraski
82563bde60 Final tweaks 1999-07-10 10:55:55 +00:00
Zeev Suraski
03d33b2f88 More locking work 1999-07-10 09:29:02 +00:00
Zeev Suraski
6fcf8aa12c *** empty log message *** 1999-07-09 21:00:24 +00:00
Zeev Suraski
0fadd053fa More stuff 1999-07-09 20:57:29 +00:00
Zeev Suraski
2a6da7814c Step 4:
Move to a 7-bit counter (not fully implemented yet)
1999-07-09 20:43:59 +00:00
Zeev Suraski
6ec1acbe32 Phase 3:
Use a single bit to mark IS_REF variables
1999-07-09 18:19:48 +00:00
Zeev Suraski
5f62c347c7 Step 2:
Rename is_ref to EA
1999-07-09 17:44:41 +00:00
Zeev Suraski
81d901b14d Step 1 in nuking the garbage collector:
- Change the hash destructor to return int
- Don't kill the bucket on hash_destroy if the destructor returns 0
1999-07-09 17:24:47 +00:00
Zeev Suraski
cdce334c56 *** empty log message *** 1999-07-09 11:19:38 +00:00
Zeev Suraski
cc26d0e609 Send a SIGSEGV instead of exiting, to trigger a core dump 1999-07-09 11:10:19 +00:00
Zeev Suraski
6abe9c34d9 * Support recoverable failure from erealloc()
* Fix the shutdown code on an unrecoverable erealloc() failure
1999-07-09 11:03:56 +00:00
Zeev Suraski
81f5522210 Fix the mess in SIGSEGV handling, hopefully 1999-07-09 07:35:13 +00:00
Zeev Suraski
d894cf44d8 Support definition of classes that are derived from classes that are defined in runtime 1999-07-08 16:55:27 +00:00
Sascha Schumann
fdc1b9262d enable it, until we find a better way 1999-07-06 21:02:07 +00:00
Sascha Schumann
52308cd368 make Solaris gcc happy 1999-07-05 17:05:38 +00:00
Sascha Schumann
f6164dbf3a use void * instead of long for 64-bit test 1999-07-05 10:51:11 +00:00
Thies C. Arntzen
eb5c6da5a4 added RETVAL_RESOURCE and RETURN_RESOURCE 1999-07-05 06:26:29 +00:00
Zeev Suraski
d189972737 Make convert_to_string() regard false as "" instead of "0" 1999-07-04 23:50:58 +00:00
Sascha Schumann
c2b8a4667b don't wipe files for distributions 1999-07-03 19:37:55 +00:00
Sascha Schumann
d6169276dd checking for ints won't work, since they are 32 bit on both platforms 1999-07-03 18:46:10 +00:00
Zeev Suraski
baa75917c8 Support isset()/empty() for string offsets 1999-07-03 18:03:02 +00:00
Zeev Suraski
063051d6ac Fix a crash 1999-07-03 16:05:58 +00:00
Sascha Schumann
7bbd454143 add usual rhapsody hack 1999-07-03 02:45:46 +00:00
Sascha Schumann
e0fff74d41 missing DL_HANDLE broke build 1999-07-03 02:44:11 +00:00
Sascha Schumann
8b51ad8157 typo 1999-07-03 02:34:09 +00:00
Sascha Schumann
2a44f45cbe workaround for 64-bit platforms 1999-07-02 21:12:03 +00:00
Zeev Suraski
9ece796086 define zend_bool 1999-07-02 14:10:57 +00:00
Zeev Suraski
49d98c5a3f Make require accept any parameter 1999-06-30 17:17:39 +00:00
Zeev Suraski
98b6ddda90 * Make the memory leak reporting code much better with repeats
* Remove useless variables
1999-06-26 11:48:22 +00:00
Zeev Suraski
c471c77c58 Fix Thies's bug report 1999-06-22 20:24:51 +00:00
Zeev Suraski
3eac45ea80 * Fix concatenation of arrays (it was PHP 3.0 style, copying zval's instead
of zval *, and it wasn't using reference counting)
* Fix a memory leak in static array()'s with textual indices
1999-06-22 19:05:40 +00:00
Zeev Suraski
d035af4af1 *** empty log message *** 1999-06-19 20:42:15 +00:00
Zeev Suraski
138d601ab1 Add a standard get_ini_entry() to interface between Zend and the outside world 1999-06-19 20:22:56 +00:00
Zeev Suraski
8def18813f *** empty log message *** 1999-06-19 14:07:48 +00:00
Stig S. Bakken
5d4579a1f4 added INIT_FUNC_ARGS_PASSTHRU and SHUTDOWN_FUNC_ARGS_PASSTHRU 1999-06-16 11:03:57 +00:00
Stig S. Bakken
80f1ce5eed * added zend_binary_strcasecmp() 1999-06-15 22:32:51 +00:00
Zeev Suraski
c50cd2df99 We can't quite go with expr there (shift/reduce conflict), go with scalar. 1999-06-12 07:43:36 +00:00
Zeev Suraski
4bf413e358 require() improvement as per Andi's suggestion 1999-06-12 06:59:54 +00:00
Zeev Suraski
0d560de1b7 Make the concatenation operator use make_printable as well 1999-06-11 15:37:43 +00:00
Zeev Suraski
9f106c61ec Don't take failing on an include file so badly 1999-06-11 14:51:44 +00:00
Zeev Suraski
d6595d628c Support <?= 1999-06-11 13:56:04 +00:00
Zeev Suraski
d47d83511a E_ERROR -> E_COMPILE_ERROR in the compiler 1999-06-11 13:40:18 +00:00
Zeev Suraski
54d210427a Two fixes:
* The error generated by a failed class inheritence wasn't  properly
  displaying the file in which he error occured.
* Inheritence didn't work if the parent class had uppercase letters in it.
1999-06-11 13:37:29 +00:00
Zeev Suraski
963a004481 * Use to_string() instead of __print()
* Support boolean casts ((bool) and (boolean))
1999-06-11 11:17:43 +00:00
Zeev Suraski
99fd17df63 Change __print into to_string() 1999-06-11 11:02:38 +00:00
Zeev Suraski
da9faa2c3a * Make the output handling of variables much, much cooler.
Uses zend_make_printable_zval() instead of convert_to_string() now:

$foo = true;
print "\$foo is $foo";
will now print
$foo is true
(instead of "$foo is 1", earlier).

Also, with objects, it automatically tries to call __print() and use it as a printing
function.

For example:

class foo {
  function __print() { return "Foo Object"; }
};

$foo = new foo;
print $foo;

will print "Foo Object".
1999-06-11 10:44:26 +00:00
Zeev Suraski
c1f75b6fda Now THAT's an annoying bug. 1999-06-10 23:03:35 +00:00
Zeev Suraski
2fb5e56123 Fix 1999-06-09 21:40:52 +00:00
Zeev Suraski
95c9e3014a * Fix cases where you assign an array element to the parent array (the array was
being erased before the assignment, so the element was being smashed).
1999-06-09 21:39:12 +00:00
Zeev Suraski
b484f40c31 * Fix foreach() that receives a non array argument
* Clean up some C++ comments
1999-06-09 21:02:59 +00:00