Commit Graph

558 Commits

Author SHA1 Message Date
Zeev Suraski
cd7d5546ae - Introduce ZEND_NUM_ARGS(), to replace ARG_COUNT(ht)
- Rename getParameters() and friends for consistency and namespace cleanliness
1999-12-18 22:23:23 +00:00
Zeev Suraski
71dddd7db7 - Made PHP_VERSION and PHP_OS work again
- More php3_ cleanup
@- Restored the PHP_VERSION and PHP_OS constants (Zeev)
1999-12-17 20:01:47 +00:00
Sascha Schumann
fb61a2c944 Define inline to inline explicitly 1999-12-17 17:50:14 +00:00
Sascha Schumann
91549cfa4f Move config code into separate file 1999-12-17 13:36:15 +00:00
Andi Gutmans
7fe808ea02 - By mistake commited this to the branch. It fixes a bug we introduced with
the return reference patch.
1999-12-17 08:24:10 +00:00
Andrei Zmievski
8a879b8fc5 Doh! I'm an idiot. 1999-12-15 22:37:05 +00:00
Andrei Zmievski
c9c6446aa1 - s/inheritence/inheritance/g
- Added is_subclass_of() function
1999-12-15 21:26:43 +00:00
Zeev Suraski
ced9cee10c - Implement return by reference:
- In function declaration instead of the return statement
  - In the assignment phase
- Implement ability to turn off support for call-time pass by reference
1999-12-15 20:15:32 +00:00
Andrei Zmievski
22344ea595 val->len 1999-12-15 16:54:46 +00:00
Andrei Zmievski
46b14f85c3 Faster, must go faster. 1999-12-15 15:59:04 +00:00
Andrei Zmievski
3fdf0dbedc - Added class_exists()
- Moved function_exists() here from from the basic_functions.c
- Modified method_exists() to convert method name to lowercase
  when checking
1999-12-14 21:15:24 +00:00
Andi Gutmans
e36be38140 - opened_path should not be freed here as the zend_file_dtor() takes care
of it. This doesn't fix the bug report for the crash of highlight_file()
  though.
1999-12-07 16:00:39 +00:00
Zeev Suraski
3d160b5b7c Support ZTS definition in zend_config.h 1999-12-07 06:19:42 +00:00
Zeev Suraski
ef596bbafb Move the #include of zend-parser.h out of zend_compile.h 1999-12-06 20:42:44 +00:00
Zeev Suraski
291066c459 More localization 1999-12-06 19:03:57 +00:00
Zeev Suraski
00c3ac908b Localize a couple of macros 1999-12-06 15:31:06 +00:00
Zeev Suraski
624117e5e4 *** empty log message *** 1999-12-05 23:32:21 +00:00
Sascha Schumann
70df2d7478 Fix some warnings 1999-12-05 16:23:45 +00:00
Andrei Zmievski
83ce7c13d1 *** empty log message *** 1999-12-04 18:57:44 +00:00
Andrei Zmievski
f962a35df7 Added zend_set_hash_symbol() function. 1999-12-04 16:50:18 +00:00
Thies C. Arntzen
0a276c2ff3 backed out last change after andi decided on a different approach. 1999-12-04 16:08:43 +00:00
Andi Gutmans
4c8259b538 - Call ZEND_SET_SYMBOL_WITH_LENGTH() with refcount 1 from the standard
ZEND_SET_SYMBOL()
1999-12-04 14:56:44 +00:00
Zeev Suraski
efc84af940 - Implement get_used_files() and get_imported_files() 1999-12-04 14:26:26 +00:00
Zeev Suraski
9baad80459 - Break the zend->PHP dependency introduced by the .php extension for use(),
by providing an API
- Enable Stig's patch for use() extensions (it wasn't refered to by the parser)
- Fix a memory leak in that code
1999-12-04 13:26:57 +00:00
Thies C. Arntzen
502bb337fe the new SET_VAR_* macros forgot to set the refcount! 1999-12-04 13:18:08 +00:00
Sam Ruby
6fb3b8c66f build error - windows 1999-12-04 13:13:45 +00:00
Stig S. Bakken
aaadc71d5d Fix typo, add prototype for use_filename(). 1999-12-04 11:45:14 +00:00
Stig S. Bakken
3570e8891d "use" should use arg+".php" as parameter to require 1999-12-04 11:43:07 +00:00
Zeev Suraski
cad92c80cc This should fix the fd leak with include()/require() 1999-12-04 10:59:30 +00:00
Andrei Zmievski
e345066140 *** empty log message *** 1999-12-03 17:03:35 +00:00
Andrei Zmievski
fec413c557 Added ZEND_SET_GLOBAL_VAR_WITH_LENGTH_EX() macro. 1999-12-03 16:59:04 +00:00
Thies C. Arntzen
0d7e971355 revert my last patch - WARNING: we leak fd's again.
add initialzation of opened_path highlight_file()
1999-12-03 14:07:00 +00:00
Andi Gutmans
c34560b53d - Remove _EX and make it the old _LENGTH 1999-12-03 07:54:17 +00:00
Andi Gutmans
2f5efbdea6 - Add _EX macro for Andrei 1999-12-02 20:38:41 +00:00
Zeev Suraski
fdcaba4096 Solve a couple of compile issues 1999-12-02 18:59:29 +00:00
Thies C. Arntzen
b92d70aabe php_fopen_wrapper_for_zend() does *NOT* insert the opened files into any list - the caller needs to fclose() the file. (not sure if this is desired)
fixed "Uninitialized memory read" when including URLs
1999-12-02 14:37:16 +00:00
Stig S. Bakken
93536507f6 Fix warnings surfacing in maintainer-mode. 1999-12-01 22:55:20 +00:00
Zeev Suraski
2ddc4fe4f5 Make it possible to explicitly set refcount in ZEND_SET_SYMBOL_WITH_LENGTH(), part 2 1999-12-01 22:00:58 +00:00
Zeev Suraski
158088ca1a Allow to set the reference count explicitly for ZEND_SET_SYMBOL_WITH_LENGTH() 1999-12-01 21:47:47 +00:00
Andi Gutmans
14382523bf - Forgot to check for BP_VAR_IS in the fix made for Thies' string offset
problem.
1999-12-01 14:55:58 +00:00
Andi Gutmans
3a17630121 - Applied Thies' bug fix. Great work! 1999-11-30 20:37:52 +00:00
Andi Gutmans
5463dd5b38 - Add use support (behaves like require, but will not use the same file twice)
- Add import support (behaves like include, but requires parentheses;  will not
  use the same file twice; Currently, it is not yet properly implemented, and
  only behaves like include)
1999-11-30 20:15:04 +00:00
Andi Gutmans
08304a3c93 - Fix problem Thies reported. We by mistake separated variables which were
being fetched for read only.
1999-11-30 17:10:11 +00:00
Zeev Suraski
4481898ff7 Add ability to disable the memory cache 1999-11-27 00:04:36 +00:00
Zeev Suraski
74f6202aa6 - Fix fd leak in ZTS mode 1999-11-26 23:54:05 +00:00
Zeev Suraski
6be3723f3d UNIX/non ZTS compile fixes 1999-11-26 23:48:04 +00:00
Zeev Suraski
58153dfed0 - Improve the file handle closing code 1999-11-26 23:45:22 +00:00
Zeev Suraski
cd53944435 - Modify zend_llist_del() to receive a comparison function 1999-11-26 23:44:41 +00:00
Zeev Suraski
71b1219ee3 This request_shutdown() is no longer needed (never was needed really) 1999-11-26 20:19:28 +00:00
Zeev Suraski
b53bc48847 This should get the file to close properly 1999-11-26 18:37:06 +00:00
Sascha Schumann
ac8736c8ee Rebuild libzend.la, if the scanner was rebuilt 1999-11-26 17:53:56 +00:00
Zeev Suraski
94b5119898 Remove request_started, increase thread safety 1999-11-26 13:53:18 +00:00
Zeev Suraski
f617a46305 That's a more thorough fix... 1999-11-25 16:21:01 +00:00
Zeev Suraski
f62a08c2ae Fix bug #2817 - assignments to string offsets could erronously modify unrelated strings 1999-11-25 16:11:34 +00:00
Zeev Suraski
b264733bc1 Fix compile problem with enable-memory-limit 1999-11-22 22:27:04 +00:00
Zeev Suraski
3b9673ca58 Fix inconsistencies with here-docs implementation 1999-11-22 17:11:36 +00:00
Zeev Suraski
86a0efcff5 Fix #2744 1999-11-22 16:30:23 +00:00
Andi Gutmans
f3ca328b34 That slipped away 1999-11-21 18:19:08 +00:00
Zeev Suraski
6358c6631b - Optimize class instanciation
- Fix constant instanciation for array elements inside objects
1999-11-21 18:11:10 +00:00
Andi Gutmans
1f11e07fc6 - Moved var_uninit() for return_value to the beginning of DO_FCALL.
We forgot to do it for overloaded methods
1999-11-19 17:04:54 +00:00
Andi Gutmans
817a11e7ed - Functions whose return values aren't used have them freed in DO_FCALL
and don't need a special ZEND_FREE opcode following them anymore
1999-11-19 16:55:25 +00:00
Andi Gutmans
52045afb08 - If a function's return value is unused then don't create a ZEND_FREE
opcode but free it after the function call in zend_execute.
1999-11-17 17:21:15 +00:00
Andi Gutmans
800e00727a - Forgot this 1999-11-17 04:38:38 +00:00
Andi Gutmans
3cd140cdef - Weird that this compiled for me. 1999-11-16 20:31:29 +00:00
Andi Gutmans
247d3d3345 - CHange used_return_value -> return_value_used 1999-11-16 19:12:46 +00:00
Andi Gutmans
b7b614d0b5 - In any case create the free opcode. Need to allow the functions to
create a hint.
1999-11-16 18:46:32 +00:00
Andi Gutmans
dbb67ab9dc - Add support for used_return_value passed to internal functions. 1999-11-16 18:30:06 +00:00
Andi Gutmans
4ebf7b85ad - Fix comment as to Joey's findings 1999-11-14 10:30:39 +00:00
Andi Gutmans
d35ea24fc0 - Fix crash with string offset assignments. 1999-11-13 18:11:34 +00:00
Andrei Zmievski
3964c92f8b Made zend_hash_rehash() callable from outside. 1999-11-04 21:02:35 +00:00
Andi Gutmans
6d988ec694 - Add support for BYREF_FORCE_REST 1999-11-03 19:21:56 +00:00
Andi Gutmans
83c79bb154 - Fix for Thies' leak and Andrei's crash 1999-10-28 15:53:31 +00:00
Zeev Suraski
7f35cfda71 *** empty log message *** 1999-10-25 16:07:14 +00:00
Sam Ruby
6576719dcb Allow CYGWIN directory to be specified as via environment variable 1999-10-23 19:27:24 +00:00
Andi Gutmans
9b83d1ca5d - Fix isset() with string offsets. 1999-10-22 22:35:16 +00:00
Thies C. Arntzen
816627b16c fixed is_identicat_function() 1999-10-19 15:48:25 +00:00
Andi Gutmans
98f025430e - Move IS_IDENTICAL next to IS_EQUAL 1999-10-19 14:19:42 +00:00
Andi Gutmans
70b41809f2 - Fix is_identical function 1999-10-19 14:11:39 +00:00
Andi Gutmans
7a205f6087 - Preliminary submit of Thie's patch. Will fix the rest on Windows
as this was added on UNIX with patch. Changed IS_SAME -> IS_IDENTICAL
1999-10-19 13:33:17 +00:00
Andrei Zmievski
52a30fd21b Be safe, use (). 1999-10-18 14:17:36 +00:00
Andrei Zmievski
c279668168 unstatic'fy is_numeric_string() 1999-10-15 20:42:26 +00:00
Andrei Zmievski
e956a266e2 *** empty log message *** 1999-10-15 20:37:53 +00:00
Andrei Zmievski
62c1407a4d *** empty log message *** 1999-10-15 13:45:28 +00:00
Andi Gutmans
4d7c162d16 - Add convert_to_number_ex() 1999-10-15 06:25:42 +00:00
Sascha Schumann
e77485a8f7 Add "--disable-inline" for low-memory machines (be it limited
RAM or virtual memory). It's also useful for Digital C where
the C++ compiler thinks "inline" is an invalid specifier.
1999-10-14 22:17:22 +00:00
Sascha Schumann
d58e6f2b00 Use sources from $(srcdir) 1999-10-14 17:20:25 +00:00
Sascha Schumann
2170fa6dea Do not use $< for anything but implicit rules. 1999-10-13 16:16:09 +00:00
Thies C. Arntzen
6e07d060fc (zend_fetch_resource) added warinig if resource is of wrong type 1999-10-13 12:59:48 +00:00
Sascha Schumann
8cc4fc6111 Disable ZEND_EXTENSIONS_SUPPORT, if RTLD_NOW is not defined.
Note that this part could be made platform independent by using
libltdl (for Solaris, Linux, *BSD, HP-UX, Win16/32, BeOS).
1999-10-13 00:17:01 +00:00
Thies C. Arntzen
6d7c18c1f5 new improved resource-API 1999-10-12 14:51:17 +00:00
Sascha Schumann
fc48083437 Use DL_LAZY for OpenBSD. This seems to be a compatibility flag which
should be used for the 2nd parameter to dlopen.

http://www.openbsd.org/cgi-bin/cvsweb/src/share/man/man3/dlfcn.3?rev=1.8
1999-10-12 14:48:32 +00:00
Andi Gutmans
faa1891782 - object.ptr was made NULL in DO_FCALL but wasn't restored. Right now I
push it in DO_FCALL and at the end of do_fcall_common it always gets
  popped. We might be able to optimize it out.
1999-10-12 11:41:17 +00:00
Andrei Zmievski
8864313c48 Modified zend_hash() to accept a pointer to sort function. 1999-10-11 21:30:23 +00:00
Andi Gutmans
81aa9a36b6 - No idea why this bug didn't exist before. But I'm too tired to think of it.
During a regular do_fcall we need to set object.ptr to NULL and, thus,
  push it in the beginning and pop it in the end.
  I hope this fix more or less cuts it. I just want to sleep :)
1999-10-11 20:29:55 +00:00
Andi Gutmans
3a88d5a68e - Didn't lower refcount when doing an internal function call linked to a regular object. 1999-10-10 18:31:42 +00:00
Andi Gutmans
274ce69429 - Clean up a bit. Separate before the locking so that we can use SEPARATE_ZVAL
macro.
1999-10-10 04:38:51 +00:00
Sascha Schumann
ea567a73f1 Add clean target which removes standard targets 1999-10-10 02:02:13 +00:00
Sascha Schumann
f2608c3fdb build.mk can be used to generate build tools. It is usually
faster than buildconf, since it rebuilds only components, if
it is necessary. To use it, run

    $ make -f build.mk
1999-10-10 01:23:15 +00:00
Andi Gutmans
ec04c922aa - Shouldn't be needed 1999-10-09 20:37:08 +00:00
Andi Gutmans
37159e7863 - God damn this sucked. I hopefully fixed the problems with classes although
we might need to clean stuff up a bit.
1999-10-09 20:29:36 +00:00
Sascha Schumann
1df149ec1a Define RTLD_NOW to DL_NOW, if RTLD_NOW is not defined (for OpenBSD). 1999-10-09 18:03:23 +00:00
Thies C. Arntzen
f352444541 added zval_del_ref() function 1999-10-07 12:20:40 +00:00
Andi Gutmans
5fed1466ef - Reverse my patch 1999-10-07 04:38:03 +00:00
Andi Gutmans
e3d0c91dbb - Fixed memory leak with this pointer. It was somtimes initialized with refcount
of 2 instead of 1.
- Also fixed a place where object.ptr_ptr is set to pointing to a zval* instead
  of zval**. I don't think this is ever used so we might be able to remove it
  altogether.
1999-10-06 17:45:15 +00:00
Thies C. Arntzen
c6b91f789d fix for using resources as array indices 1999-10-06 15:09:26 +00:00
Sascha Schumann
b510a6d11f More portability stuff 1999-10-05 15:13:22 +00:00
Sascha Schumann
2785fbce1e OSF/1 V4.0 wants -lcxx 1999-10-05 13:50:13 +00:00
Sascha Schumann
1877b0779c This causes link problems with anything higher than -O0. 1999-10-05 11:17:04 +00:00
Sascha Schumann
590f9c1dee Add necessary rule. 1999-10-04 15:35:16 +00:00
Sascha Schumann
8ae3f4b027 Use libtool to build. 1999-10-04 15:20:12 +00:00
Thies C. Arntzen
ca1d1f832a use getParametersEx for all builtin functions 1999-10-04 13:27:12 +00:00
Thies C. Arntzen
6847fefad9 added add_*_resource() and add_*_bool() functions 1999-10-04 11:42:46 +00:00
Andi Gutmans
1c0f136405 - Hooray. This might actually work. (I hope) 1999-10-03 20:06:21 +00:00
Sascha Schumann
a0296da876 Make it executable. 1999-10-03 15:49:27 +00:00
Andi Gutmans
56834ff66a - Another locking fix. 1999-10-02 18:02:10 +00:00
Andi Gutmans
e40667440d - Fixed locking problem when fetching string offsets 1999-10-02 16:40:25 +00:00
Zeev Suraski
77ddd3a35b Fix the leak reported on the PHP 3 list (isset() on string offsets) 1999-10-02 15:56:49 +00:00
Andi Gutmans
86357a9c27 - Move is_ref back to being an unsigned char and not a bit field. 1999-10-01 23:31:39 +00:00
Andi Gutmans
4dd47ffbc1 - Remove locking support completely 1999-10-01 23:26:00 +00:00
Andi Gutmans
03d354dcf9 - For Andrei. Implement references in array() initializations 1999-10-01 10:00:05 +00:00
Zeev Suraski
dbccd75b06 *** empty log message *** 1999-09-29 21:46:37 +00:00
Andi Gutmans
202d7dd216 Fix leak in += with arrays 1999-09-29 17:45:44 +00:00
Andi Gutmans
06d04d15a8 - Fix SEND_VAR problem after fetch'ing a variable and not knowing the fetch type 1999-09-29 17:18:36 +00:00
Thies C. Arntzen
446e5d0fff added add_property_resource 1999-09-29 15:25:06 +00:00
Andi Gutmans
59d5462a6a - Stop using the locking mechanism and start using refcount.
Now we know when we need to free but we still need to support it
1999-09-28 17:37:14 +00:00
Andi Gutmans
b56fd4602f - First part of the patch which makes reads use ptr and not ptr_ptr. 1999-09-28 16:03:09 +00:00
Sascha Schumann
7ed68c0f53 Provide alternative istdiostream.
This has been tested with Sun WorkShop 4.2 C++ which does not
    contain class istdiostream.
1999-09-28 11:54:02 +00:00
Sascha Schumann
b7a1130143 Actually allow to set CXXFLAGS 1999-09-26 20:59:47 +00:00
Sascha Schumann
0ac169b474 Build communication channel and add checks for C++ library 1999-09-26 20:12:05 +00:00
Andi Gutmans
4fff0386ac - Changed Ts{}.var to Ts{}.var.ptr_ptr. 1999-09-26 05:45:18 +00:00
Sascha Schumann
d8895c02f7 Add _ex API implementation for booleans. 1999-09-24 19:22:25 +00:00
Zeev Suraski
85844ace95 Exify the standardized resource stuff 1999-09-24 14:03:45 +00:00
Andi Gutmans
63c15d292a - Fix bug #2364.
I haven't checked all of the conversion macros yet but there's a change
  there are more such bugs there.
1999-09-23 16:13:31 +00:00
Sascha Schumann
4efa22c84e Fix vpath build w/ thread-safe enabled on Unix. 1999-09-23 16:07:16 +00:00
Thies C. Arntzen
49c891f2cf preliminary fix for each until andi & zeev clean up! 1999-09-22 09:57:42 +00:00
Thies C. Arntzen
5f3515652a if you pass NULL as the resource_type_name to zend_fetch_resource*&friends the functions will not print any warnings if the resource is not found! 1999-09-22 09:46:44 +00:00
Andi Gutmans
228a537bbe - Fix problem where function parameter fetches were created too late. 1999-09-21 20:00:01 +00:00
Zeev Suraski
a30f028a12 Add get_func_args() 1999-09-21 07:31:24 +00:00
Zeev Suraski
9f1d0dec47 *** empty log message *** 1999-09-21 00:46:22 +00:00
Andi Gutmans
68217ef564 - Move some more Zend internal functions from PHP 1999-09-20 21:28:37 +00:00
Andi Gutmans
5e3bbea0ff - Next part of locking fix.
$var = expr; and $var += expr; first create code for expr and later on
  for the fetch_w of $var.
1999-09-20 18:17:32 +00:00
Andi Gutmans
7831d30265 - Newline for Sun's compiler 1999-09-20 17:01:38 +00:00
Andi Gutmans
06a18f169b - Add some internal functions to Zend 1999-09-20 16:56:09 +00:00
Andi Gutmans
babad2694e - First step in fixing locking problem. Array fetches are now always done last.
Later on we will want to delay the write fetches even longer until after their
  resulting expression is parsed. The way it is now, will make it very easy
  to delay as long as we need.
1999-09-20 15:44:30 +00:00
Andi Gutmans
82c8a9e745 - Indirect references had all of the fetches by mistakenly backpatched.
Actually all of the fetches are supposed to be read, except for the last
  one.
1999-09-20 14:45:36 +00:00
Zeev Suraski
7a4a5944f9 Added zend_num_args() and zend_get_arg() 1999-09-20 13:00:35 +00:00
Zeev Suraski
13d840bc3f Add a file in which we can put Zend builtin functions 1999-09-20 12:24:39 +00:00
Andi Gutmans
1ac04fe9f4 - Try to fix the leak Rasmus reported. It's pretty sucky code so I'm really
not sure this fix is OK.I can't remember all of what we did there.
1999-09-18 22:07:12 +00:00
Zeev Suraski
6ddd686141 Safer behavior 1999-09-18 13:07:45 +00:00
Thies C. Arntzen
aa5102490a make SUNs c89 happy 1999-09-17 13:57:24 +00:00