Derick Rethans
9b517c4b93
- Revert changed to implicit_flush behavior. The new behavior was not
...
intended in the first place.
2002-10-03 10:35:33 +00:00
Yasuo Ohgaki
1731767272
Prevent unwanted fluhsing.
2002-10-03 08:54:45 +00:00
Andi Gutmans
1f58a8f087
- No idea why this wasn't crashing before.
2002-06-26 07:36:01 +00:00
Derick Rethans
ba5257a2ec
- Fix for bug #16065
2002-06-18 11:09:21 +00:00
Stanislav Malyshev
11df2122df
Add comments for the fix
2002-04-29 16:02:41 +00:00
Stanislav Malyshev
91a78e2974
Fix here too
2002-04-29 16:02:10 +00:00
Stanislav Malyshev
aa10ac9a64
Yet another serialization fix - for incomplete class
2002-04-29 15:44:30 +00:00
Stanislav Malyshev
a57381e3bd
Fix couple of nasty serializer bugs:
...
a) When array unserializer encounters less data than it expects (like:
a:1:{}) it crashes. I don't understand exactly why it does, but the fact
is it does. So now it should catch "}" and bail out.
b) When array/object data are serialized, the count is written by hash
count. However, it can be that in-loop check fails and less data than
expected will then be written into the array. Which, due to a), would
crash on unserialize. So now it will write empty entries in place of
entries it cannot serialize (the other choice would be make two passes on
the data, which I don't like).
2002-04-28 16:56:33 +00:00
Sascha Schumann
d30fc27e5a
simplify and improve speed of smart_str_print_long.
...
also add a variant for unsigned numbers.
2002-04-21 01:17:49 +00:00
Thies C. Arntzen
3550d75d0f
fix #12793 - serialize will now spit a notice if the return value of __sleep is
...
bogus.
2002-03-19 11:25:21 +00:00
Wez Furlong
1cc6a8e998
it's late; no more commits from me tonight...
2002-03-15 02:06:08 +00:00
Wez Furlong
0454ad4de8
should have diffed first...
2002-03-15 02:00:55 +00:00
Wez Furlong
ae9db4e440
fix for ZE2 compile
2002-03-15 01:58:00 +00:00
Derick Rethans
7935e73749
- Fix bug #16078
2002-03-14 18:41:35 +00:00
Wez Furlong
93ad205756
fix buglet
2002-03-14 14:05:13 +00:00
Yasuo Ohgaki
dcd86d154e
Fixed var_dump() crash when there is recursion.
...
# Since I said it's easy to fix :)
2002-03-14 09:36:13 +00:00
Yasuo Ohgaki
82a8d372e5
Added ob_get_status() to get array of buffers and it's status.
...
(DO NOT document this function yet)
Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
buffers that may not be deleted.
php_start_ob_buffer() and php_ob_set_internal_handler() takes parameter for
if the buffer created may be deleted or not.
Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
deleted until script finshes.
Changed ob_*() function that have void return type to bool. All ob_*()
functions return TRUE for success, FALSE for failure.
@ - Added ob_get_status() to get array of buffers and it's status. (Yasuo)
@ - Fixed crash bug with ob_end_*() function. ob_end_*() will not delete
@ buffers that may not be deleted. (Yasuo)
@ - Added 3rd parameter "bool erase" to ob_start(). If FALSE, buffer may not be
@ deleted until script finshes. (Yasuo)
@ - Changed ob_*() function that have void return type to bool. All ob_*()
@ functions return TRUE for success, FALSE for failure. (Yasuo)
2002-03-01 03:05:50 +00:00
Derick Rethans
27c4648010
- Make it a boolean
2002-02-28 16:00:26 +00:00
Derick Rethans
b5a0fd24a1
- Fix the fix.. no need to escape " in single quotes
2002-02-24 14:07:10 +00:00
Derick Rethans
a4946ca375
- Add slashes around string output
2002-02-24 13:26:43 +00:00
Jason Greene
150d339231
Renamed zval_debug_dump() to debug_zval_dump()
2002-02-10 17:38:15 +00:00
Jason Greene
91ac18bc66
@Added zval_debug_dump which works similar to var_dump yet displays extra
...
internal information such as refcounts, and the true type names (Jason)
2002-02-10 06:52:35 +00:00
Derick Rethans
f5f4a5cf37
- TSRMLS here and there, it's all about the Windows flair
2001-12-15 14:55:18 +00:00
Derick Rethans
143df7de6b
- Added a second parameter to var_export which makes the function return
...
the variable representation in a string.
2001-12-15 14:45:59 +00:00
Sebastian Bergmann
38933514e1
Update headers.
2001-12-11 15:32:16 +00:00
Derick Rethans
a7b9d5590b
- Remove debug code
2001-12-08 23:46:19 +00:00
Derick Rethans
3cb1db985e
- Added var_export, which shows a representation of a variable, much like
...
var_dump, but in such a way you can use it as PHP code.
@- Added var_export, which shows a representation of a variable, much like
@ var_dump, but in such a way you can use it as PHP code. (Derick)
2001-12-08 23:44:34 +00:00
Thies C. Arntzen
0fd809a770
improve last patch:
...
non existant object variables are now serialized as NULL, this saves us from
buffering the serialized data.
2001-12-01 15:17:50 +00:00
Thies C. Arntzen
7ff5198c53
serialized data would be incoorect if __sleep() returned a variable-name
...
which is non-existant in the object.
submitted by: Bernd Roemer <berndr@bonn.edu>
2001-12-01 15:06:37 +00:00
Sascha Schumann
f341f630d3
Rewrite of unserializer which should be more maintainable and extensible.
...
Changes pass `make test´ and a couple of custom tests.
Enjoy.
2001-11-10 21:18:34 +00:00
Jeroen van Wolffelaar
c033288573
Back-substitute for Z_* macro's. If it breaks some extension (the script isn't optimal, it parses for example var->zval.value incorrect) please let me know.
2001-09-25 21:58:48 +00:00
Derick Rethans
78747bd2df
- Don't wrap lines... this is annoying while coding.
2001-09-09 13:29:31 +00:00
Zeev Suraski
e140b35b04
API update
2001-08-21 12:57:53 +00:00
Sterling Hughes
06aa7a4d19
Cleanup of var_dump() with correct macro's, k&r indent, and removal of a
...
pair of unnecessary { }
2001-08-17 07:50:15 +00:00
Andi Gutmans
4580df1080
- This code looks OK so remove FIXME comment
2001-08-14 17:43:39 +00:00
Zeev Suraski
c0404f4631
Whitespace
2001-08-11 17:03:37 +00:00
Thies C. Arntzen
a35df189b8
we can no longer register internal-classes once the script is started.
...
therefore the "incomplete class" is now registered at MINIT time.
2001-08-06 13:36:08 +00:00
Sascha Schumann
a19563c8dc
more tsrm cleanup
2001-08-05 16:52:29 +00:00
Sascha Schumann
373b3e101e
more tsrm cleanup -- output.c is not doing any fetches anymore
2001-08-05 15:55:43 +00:00
Thies C. Arntzen
dca5f8dce4
fix serialize:
...
- keys no longer have a trailing \0
- no leak on calling __wakeup (also saved 2* malloc & free)
- serializing objects that implement __sleep() works again
- make test works again:-)
2001-08-04 17:29:54 +00:00
Sebastian Bergmann
724b4d409c
Eliminate TSRMLS_FETCH() call.
2001-08-04 05:37:11 +00:00
Sebastian Bergmann
ea79632b29
Fix Win32 (and maybe other ZTS) builds.
2001-08-04 05:22:55 +00:00
Sascha Schumann
c947a0739e
Clean up the serializer by modularizing some of its code. That also
...
enables us to serialize hash indices without creating zvals for them.
Due to its nature, this patch also includes some whitespace changes.
2001-08-04 03:30:38 +00:00
Sascha Schumann
723bbcbea0
Do the nul'ifiying of php_var_serialize's result at the right place
2001-08-03 11:00:16 +00:00
Sascha Schumann
3459f05a07
NUL-terminate string
2001-08-03 09:35:33 +00:00
Sascha Schumann
4dfa91543c
Convert serializer to smart_str.. avoids lots of sprintf's and
...
copying of data.
2001-08-03 07:25:27 +00:00
Zeev Suraski
c43806f415
Zend compatibility patch
2001-07-30 08:24:42 +00:00
Zeev Suraski
7b1c400631
More TSRMLS_FETCH annihilation (Zend compatibility patch)
2001-07-30 04:58:07 +00:00
Andi Gutmans
b99a590be3
- More object macros
2001-07-29 08:14:29 +00:00
Zeev Suraski
d87cc976e1
Redesigned thread safety mechanism - nua nua
2001-07-28 11:36:37 +00:00
Zeev Suraski
fe6f8712a4
- Get rid of ELS_*(), and use TSRMLS_*() instead.
...
- Move to the new ts_allocate_id() API
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:16:41 +00:00
Zeev Suraski
2edcf835ed
Update cast
2001-07-15 22:49:25 +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
Stanislav Malyshev
adc98200d6
More correct pseudo-fix
...
# This is not really a fix. This thing is still broken. I will think on
# how to really fix it. Any suggestion is *welcome*.
2001-07-11 11:45:05 +00:00
Shane Caraveo
ff4dfc56f2
prevent php from crashing when serializing circular data.
...
This script produced the crash.
<?
$hash["test_key"] = "test_value";
$hash["hash_key"] = &$hash;
echo serialize($hash);
?>
2001-07-11 05:57:18 +00:00
Thies C. Arntzen
1be0975dff
added test for serialize
...
changed var.c to use Z_* macros
2001-07-09 09:03:06 +00:00
Daniel Beulshausen
4aa6ae493e
PHPAPI-ize php_var_* functions
...
# need this for shm*
2001-07-01 20:18:51 +00:00
Rasmus Lerdorf
81e2cf03ac
Fix folding and clean up some extensions
2001-06-06 13:06:12 +00:00
Rasmus Lerdorf
25c3a3a39d
vim-6 does folding - clean up a bunch of missing folding tags plus
...
some misguided RINIT and RSHUTDOWN calls in a few fringe extensions
2001-06-05 13:12:10 +00:00
Stanislav Malyshev
ca8c8264db
Fix the reference serializer
...
# Hope now it is right...
2001-05-29 13:19:24 +00:00
Andi Gutmans
eb6ba01d1c
- Fix copyright notices with 2001
2001-02-26 06:11:02 +00:00
Sascha Schumann
dbb3402c0f
php_add_var_hash() uses sizeof(id) in the calls to zend_hash_*, implying
...
that all bytes in the character array have been set (they are used
to compute the hash value using hashpjw).
The function assumes that sprintf's %p modifier would always prefix
the output with "0x". On HPUX, this is not the case. Hence, not
all bytes may be properly initialized before being read.
This has been addressed by using only initialized bytes as the key.
2001-01-09 05:49:37 +00:00
Sascha Schumann
3a16dc1cac
Fix segfault introduced through recent zend_hash_get_current_key* changes.
2000-12-24 15:50:39 +00:00
Zeev Suraski
aa6d2ac5d0
Heads up people!
...
Updated the get_current_key() API - the relevant authors, please take
a look at the updated code and make sure it's ok...
2000-12-22 12:57:09 +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
a1c20a04ff
Fix serializer bug that prevented serializer from working on any
...
variable that had non-reference copies of the same zval
2000-12-11 14:29:25 +00:00
Thies C. Arntzen
889b717a4c
fix #6348
2000-12-11 12:52:52 +00:00
Stanislav Malyshev
c9e39592b5
Andi says it should be zval_ptr_dtor
2000-11-07 15:06:43 +00:00
Stanislav Malyshev
cde5c779dc
And now the right fix - should add it still
2000-11-06 18:19:05 +00:00
Stanislav Malyshev
7f1dc85574
Serialize as reference only if it's a true reference
2000-11-06 18:09:51 +00:00
Stanislav Malyshev
c31faf0bd9
Add support for serializing references.
...
@- Add support for serializing references (Stas)
# WDDX and shared memory functions not covered yet
2000-10-30 17:10:06 +00:00
Thies C. Arntzen
825457ae64
update my email.
2000-10-29 09:14:55 +00:00
Andrei Zmievski
7b4983c8f8
Mega-patch to get better resource information for modules.
...
* Fixed a bug in zend_rsrc_list_get_rsrc_type()
* Switched register_list_destructors() to use
zend_register_list_destructors_ex() instead
* Updated all relevant modules to provide the resource type name
to register_list_destructors() call
* Updated var_dump() to output resource type name instead of number
@- Made resource type names visible, e.g. var_dump() and
@ get_resource_type() display "file" for file resources. (Andrei)
2000-10-20 18:25:16 +00:00
Sascha Schumann
9f71179ca9
Back out circular references protection patch.
...
This causes problems with serializing regular variables and object
properties.
We need a smarter way to tell whether we have serialized one node
already.
PR: #7291 , #7294
2000-10-18 18:32:32 +00:00
Sascha Schumann
4b89b67d1c
Don't try to serialize references.
...
Circular references would otherwise kill PHP, as the serializer
would overrun the stack.
2000-09-29 18:48:40 +00:00
Thies C. Arntzen
b1d4fcb33c
fix var_dump()s "}"-indention
2000-08-29 11:09:20 +00:00
Stanislav Malyshev
740fc2f5de
Lowercase class name before looking for it
2000-06-29 14:49:23 +00:00
Sascha Schumann
1702067ac0
API change: Use zval * instead of zval **
2000-06-23 16:58:30 +00:00
Sascha Schumann
091dc3840d
Move the incomplete class stuff into its own file, so that we can
...
make it easier accessible to WDDX.
2000-06-23 16:46:04 +00:00
Sascha Schumann
2297f670b1
Change the serialization semantics to:
...
* if a certain object is of class INCOMPLETE_CLASS, the serializer will
lookup the previously stored original class name of that object, and
use that class name to serialize the object.
Change the deserialization semantics to:
* if the class of an object, which is to be instantiated, is not found
in the current context, the class name will be stored for later
retrieval, and the class of that object is changed to INCOMPLETE_CLASS.
All function calls, property gets, and property sets operating on an
object of class INCOMPLETE_CLASS cause the execution to halt and to
output an informative error message.
2000-06-23 16:21:31 +00:00
Sascha Schumann
9d640cc990
Revert earlier commit.
2000-06-21 18:35:54 +00:00
Thies C. Arntzen
bc8d0782dd
unserialize() and wddx_deserialize() now create an empty class if they enconter
...
a class which's code is yet unknown. this makes sessionized data retain the
class name of objects even if you visited pages that don't have the classes
code available.
2000-06-21 18:22:22 +00:00
Thies C. Arntzen
405d07de96
(serialize) no longer touches the internal array-pointer
2000-06-18 10:25:39 +00:00
Zeev Suraski
da66298659
- Fix a couple of wranings in the FTP code and in parsedate.y
...
- Be safer with LC_MESSAGES
- Align with the latest Zend change in call_user_function_ex()
2000-06-17 16:49:03 +00:00
Andrei Zmievski
6e1dee8c1e
Have to use zval_ptr_dtor() on values returned from user functions.
2000-06-17 15:53:33 +00:00
Andrei Zmievski
39aa0c4d3a
Just to make extra sure.
2000-06-16 19:55:51 +00:00
Andrei Zmievski
f14961b005
Plug a memory leak: retval_ptr should be destroyed.
2000-06-16 19:53:06 +00:00
Andrei Zmievski
71d4206074
Typo.
2000-06-16 18:36:30 +00:00
Sascha Schumann
6caf633cf7
Proper casts
2000-06-13 09:17:06 +00:00
Zeev Suraski
d975678006
@- Fixed var_dump() not to modify the internal order of array elements (Zeev)
...
Fixed the buffer overflow as well
2000-06-09 15:13:36 +00:00
Andi Gutmans
3701bc4207
- ARG_COUNT(ht) -> ZEND_NUM_ARGS() mega patch
2000-06-05 19:47:54 +00:00
Zeev Suraski
e043439ff6
Update the license with the new clause 6
2000-05-18 15:34:45 +00:00
Hartmut Holzgraefe
d7779d8bdf
proto takeover from php3
2000-05-17 19:42:08 +00:00
Thies C. Arntzen
6e2bf336f6
(var_dump) cleaned up some weird & buggy stuff
2000-04-04 15:14:23 +00:00
Thies C. Arntzen
7db7884e8c
(var_dump) removed "refcount-hack" - comiles without warning again (&works).
2000-03-19 11:08:07 +00:00
Thies C. Arntzen
e4df84a8da
(serialize/unserialize) _sleep_() -> __sleep(), _wakeup_() -> __wakeup() rename.
2000-03-18 15:04:02 +00:00
Sam Ruby
74169f5fc4
restore compilation on ZTS enabled environments (like Windows)
2000-03-16 18:24:43 +00:00
Thies C. Arntzen
0fe5aef05e
@- serialize()/unserialize() now call _sleep_() and _wakeup_() when
...
@ working on objects. (Thies)
@- renamed to_string() method to _string_value_() for consistency.
@ (Thies, Zend library)
2000-03-16 02:15:41 +00:00
Thies C. Arntzen
49cc8a7805
@- fixed possible crash in unserialize if the serailized data was
...
@ damaged. (Thies)
2000-03-14 07:49:42 +00:00
Zeev Suraski
86fa2aade2
the pipe is breaking all the time
2000-02-19 23:41:32 +00:00