James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Ilia Alshanetsky
b20df54af7
Make serialize precision a configurable option.
2003-05-08 01:23:21 +00:00
Ilia Alshanetsky
7f404846ad
s/g/G/
2003-05-05 22:21:29 +00:00
Ilia Alshanetsky
88bafcb7a5
Safer implementation.
...
Thanks Marcus.
2003-05-04 19:09:54 +00:00
Ilia Alshanetsky
75c01dd66b
Fixed bug #23298 (serialize cuts off floats & doubles)
2003-05-04 18:41:02 +00:00
Derick Rethans
9ab3ad2963
- Commit the .c file too...
2003-04-28 18:52:59 +00:00
Moriyoshi Koizumi
cf620ddfdb
Unified all those redundant printf's
2003-04-21 18:00:41 +00:00
Stanislav Malyshev
5a904d6ea8
Update to latest inteface change for get_class_name
2003-04-21 17:03:29 +00:00
Moriyoshi Koizumi
47e40e1b98
Improved var_dump() and debug_zval_dump() so they also show the
...
namespace of the given object.
2003-03-29 21:29:22 +00:00
Andrei Zmievski
b1546a1775
Print the object handle (it's useful).
2003-03-10 15:13:32 +00:00
Wez Furlong
84f83e8559
Don't assume that objects have class entries (in the ZE1 sense) when
...
determining the class name.
Additionally, don't assume that objects have a properties hash either.
2003-02-01 03:52:31 +00:00
Sascha Schumann
bea6ff5183
Unbreak $Id tag
2003-01-31 16:24:12 +00:00
Andrey Hristov
309ef518fc
Renamed get_memory_usage() to memory_get_usage() (per Andi's advice)
...
This doesn't break any BC.
2003-01-18 15:03:01 +00:00
Andrey Hristov
7866f02260
added function get_memory_usage(). available only when PHP is compiled
...
with --enable-memory-limit
2003-01-14 18:26:47 +00:00
Stanislav Malyshev
bcc1e5a74e
remove unneeded var
2003-01-12 13:50:17 +00:00
Sebastian Bergmann
b506f5c8f8
Bump year.
2002-12-31 16:08:15 +00:00
Marcus Boerger
49a99a98f4
-php_error -> php_error_docref
...
-removed some cases where emalloc result was tested
2002-12-05 20:59:49 +00:00
Derick Rethans
e06550f853
- Fix problem with var_export when objects with numeric indexes were
...
exported. We now skip those, as there is no way to export valid code for
it.
2002-10-11 13:49:20 +00:00
Zeev Suraski
df55f35798
Revert the implicit_flush mess.
...
Do not revert it again under any circumstances!
Yasuo/anybody else - if there are issues with implicit_flush, please inform
me and I will fix them.
2002-10-06 12:02:53 +00:00
Yasuo Ohgaki
39b0eb9b22
Fixed broken code by Derick.
...
ob_implicit_flush() and ob_flush_all() are stopped working.
var_dump() and hightlisht_string() outputs buffer contents wrongly
with ob_implicit_flush().
Everyone should be happy now.
It was only OG(implicit_flush) interpretation issue after all.
2002-10-03 13:32:01 +00:00
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