Marcus Boerger
97b5bb474e
Guard display_startup_errors with checking for default (working) output
...
functions.
2004-03-14 23:56:07 +00:00
Andi Gutmans
dbeb4158d2
- A belated happy holidays and PHP 5
2004-01-08 08:18:22 +00:00
Ilia Alshanetsky
5e9a18a5c0
Fixed bug #24951 (ob_flush() needlessly destroys output handler).
2003-08-08 23:43:45 +00:00
Ilia Alshanetsky
ecbcd7f59f
Fixed bug #22154 (Possible crash when memory_limit is reached and
...
output buffering in addition to session.use_trans_sid is used).
2003-07-31 19:46:03 +00:00
Marcus Boerger
bdfed34ef6
Bugfix #22690
2003-07-16 08:36:04 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Wez Furlong
84fc3f384a
Fix segfault
2003-05-17 09:34:37 +00:00
Wez Furlong
e9b62698c7
Stronger validation of ob_start() parameters.
2003-05-16 19:08:13 +00:00
Sebastian Bergmann
4c8e30eccc
MFB: Fix for bug #23489 .
2003-05-06 04:22:01 +00:00
Sascha Schumann
7f5a42da17
Backout Jani's commit to resync branches
2003-04-04 08:40:48 +00:00
foobar
ff22d581d9
WS & CS fix
2003-04-03 18:44:00 +00:00
Sascha Schumann
7e2fcf986e
Add some checks and avoid passing invalid data to call_user_function_ex.
...
Fixes some heap corruption and allocation of negative amounts of memory.
2003-04-03 18:19:15 +00:00
Moriyoshi Koizumi
f7a8499806
Fixed memleak in output buffering facility
2003-04-03 00:50:17 +00:00
Sascha Schumann
e2333fd1df
Fix an uninitialized read, default to FAILURE
2003-04-01 19:14:47 +00:00
Sebastian Bergmann
5ca078779a
Eliminate some TSRMLS_FETCH() calls. Tested with Win32 build of SAPI/CGI and SAPI/CLI on Win32.
2003-03-25 08:07:13 +00:00
David Hill
5c90216d2c
64-bit correction to variables passed to zend_parse_parameters
...
@64-bit correction to variables passed to zend_parse_parameters (Dave)
2003-03-06 23:07:28 +00:00
foobar
a09e1397c7
Fixed compile failures when ZLIB / PCRE are compiled as shared
...
extensions in same build.
2003-02-09 19:09:52 +00:00
Hartmut Holzgraefe
2546f09b08
proto-fix
2003-02-03 23:36:19 +00:00
Ilia Alshanetsky
9bb3dc6903
Removed pointless checks.
2003-01-27 17:22:22 +00:00
Sebastian Bergmann
2c5d4b8c23
Bump year.
2002-12-31 15:59:15 +00:00
Ilia Alshanetsky
87a8b04051
Fix ZTS build.
2002-12-31 00:04:52 +00:00
Ilia Alshanetsky
0acb52fc3b
Fixed bug #21228 (broken check for ob_gzhandler).
...
Fixed a bug that made ob_start return incorrect return value.
2002-12-30 19:39:31 +00:00
Zeev Suraski
1143a7023c
Whitespace
2002-10-07 11:21:06 +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
Zeev Suraski
de36720e0e
Begin the cleanup - remove ob_flush_all()
2002-10-06 09:06:24 +00:00
Marcus Boerger
518e61de97
suggest paranthesis around || and &&
2002-10-04 17:11:35 +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
James Moore
df431074de
Keep comments and code in sync.
2002-10-03 11:56:10 +00:00
Sebastian Bergmann
b169932d1c
Fix warnings.
2002-10-03 11:08:09 +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
6c7202e116
Added comment for php_output_set_status().
...
Please use this function if you would like to prevent unwanted flush
by implicit_flush=On or ob_implicit_flush().
2002-10-03 08:54:13 +00:00
Yasuo Ohgaki
66a50c5373
Added ob_flush_all() that flushes bufferred contents until it actually
...
sent/printed.
@ Added ob_flush_all() that flushes all buffers. (Yasuo)
2002-10-03 07:17:14 +00:00
Yasuo Ohgaki
f534dc8f47
Added missing proto and foldings.
2002-10-03 04:17:41 +00:00
Yasuo Ohgaki
22bf29384e
Move wrong output buffer usage check to ob_gzhandler init.
...
Export some output buffer functions.
2002-10-03 03:58:12 +00:00
Yasuo Ohgaki
bec4574f57
Made some functions inline.
...
Added static for unexported functions.
2002-10-03 02:55:19 +00:00
Yasuo Ohgaki
bd177ce7c1
Added ob_get_clean() and ob_get_flush().
...
Someone requested this feature before.
@ Added ob_get_clean() and og_get_flush(). (Yasuo)
2002-10-03 01:36:44 +00:00
Marcus Boerger
1e6557f664
Fix implicit_flush
2002-10-02 15:36:29 +00:00
Marcus Boerger
ff51ed7c6f
Modified get_status(): Display chunk_size allways and size which is in
...
most cases initial_size as well as block_size only when used.
2002-10-02 15:10:11 +00:00
Marcus Boerger
d4bba6d158
Revisted Wez patch: chunk_size 0 means cahce the whole output. So
...
we must apply the default before calling php_enable_output_compression().
I have left the default setting in the rinit function even though i do think
it is not necessary.
2002-10-02 15:02:16 +00:00
Yasuo Ohgaki
e92abff88b
Fixed bug #17825 . Double zval_ptr_dtor().
2002-10-01 10:01:56 +00:00
Yasuo Ohgaki
3d8e33f06a
Fixed implicit flush.
2002-10-01 02:43:33 +00:00
Yasuo Ohgaki
ecf146cbce
Users can shoot themselves by their own output handler always.
...
Therefore, this check is overkill and it should be documented
limitation, IMO.
Anyway, a little optimization.
2002-09-30 23:46:43 +00:00
Wez Furlong
4356932dfe
Fix infinite recursion bug when using zlib output compression.
...
Cause: the chunk size is taken from the zlib.output_compression setting,
which is 0 or 1. This causes the block_size for output buffer to be set
to 0 (1 / 2) and thus causes infinite recursion in php_ob_allocate().
Solution: use a value of 0 for the chunk size which will use the default
sizes. Also add a sanity check which will default the block_size to 1
if it ends up as 0.
2002-09-30 10:18:06 +00:00
Zeev Suraski
85f4abfdac
Fix bug #19525
2002-09-23 14:18:42 +00:00
Sebastian Bergmann
714c19fe66
Per discussion on #php.bugs (+1 from at least Derick and Jani), revert double_buffering.
2002-09-01 11:33:19 +00:00
Marcus Boerger
8638bb882f
Removed __output_handler as everybody seems against such implicit
...
behaviour. Instead supply error message.
2002-08-25 14:20:37 +00:00
Marcus Boerger
6d97e0c3eb
Use zend_is_callable() instead of php_check_object_method_array() and
...
drop the latter. THX to Markus Fischer - i did not recognize this function.
@Expanded ob_start() to allow object parameters without methodnames and
@use default method __output_handler(). (Marcus)
2002-08-25 12:16:48 +00:00
Marcus Boerger
08ab630dc7
Reenable array(object,method) in ob_start()
2002-08-25 11:50:25 +00:00
Zeev Suraski
a6e8e72372
Fix ob_gzhandler()'s handling of requests w/o compression but that do have
...
the Accept-Encoding header
2002-08-23 08:37:35 +00:00
Marcus Boerger
28970b9260
fix warning
2002-08-22 10:52:40 +00:00
Marcus Boerger
5e7a9af062
full decopling of size parameters of ob_start() and internal buffer handlers
...
#intended behaviour is now fully implemented,
2002-08-21 03:04:17 +00:00
Marcus Boerger
b98c26382f
Ignore double_buffering for ob_start().
2002-08-21 01:00:56 +00:00
Marcus Boerger
8e10659648
Revert ob_start() defaults to 40K/10K until i find a better solution.
2002-08-20 23:23:25 +00:00
Marcus Boerger
2a443b2e77
Changed handling of output buffer sizes.
...
@Added php.ini option "double_buffering" that forces an additional first
@output buffer and improved handling of buffer sizes. (Marcus)
2002-08-20 19:49:37 +00:00
Marcus Boerger
8b30aeacd8
-use of php_error_docref
...
-some more information in ob_get_status()
2002-08-19 18:47:23 +00:00
Rasmus Lerdorf
3ffe4cb1ff
bool not boolean
2002-08-13 04:37:28 +00:00
Rasmus Lerdorf
34362341e9
Use int, not integer.
2002-08-13 04:31:59 +00:00
Marcus Boerger
21903dfc7e
corrected handling of internal output buffers
...
minor fixs
2002-08-10 16:12:36 +00:00
Marcus Boerger
9c8ba935d6
Improved handling of output buffers (see news)\n#No trim for the string parameter...
2002-08-09 22:29:58 +00:00
Marcus Boerger
6d21c9465d
Added php_ob_handler_used to check if a specific output handler is used
...
in c.
2002-08-05 18:54:53 +00:00
Marcus Boerger
fd26a5c0a9
-New function ob_list_handlers
...
@- Added ob_list_handlers() which returns an array of all active output
@ handlers. (marcus)
2002-08-05 03:09:42 +00:00
Zeev Suraski
2369533bf9
Remove redundant code (thanks to Jani for pointing that out)
2002-05-12 22:17:58 +00:00
Yasuo Ohgaki
2b5beee5ad
Added estrdup() needed.
...
Fixed typo.
2002-05-08 11:44:14 +00:00
Zeev Suraski
fe127f93de
We shouldn't force Content-length:, but much worse, it's wrong in many
...
cases (basically, unless you use output buffering to buffer all of your content,
it won't work; output buffering is used for lots of different things as a
functional interface, and such buffers have no relation to Content-type at
all).
2002-05-04 23:23:16 +00:00
Sascha Schumann
707b8b019e
Free string before overwriting it
2002-05-04 19:06:46 +00:00
Sascha Schumann
9743860d35
simplify handling of variables by maintaining two strings which
...
are simply appended instead of traversing the hash table on each
URL/form.
also fix an unconditional segfault in rshutdown due to efree'ing
a static char *.
remove remove_var, add reset_vars. move the function declarations
into the right header file.
2002-05-04 18:33:13 +00:00
Yasuo Ohgaki
ae828233fe
Forgot to dup strings.
2002-05-04 10:55:08 +00:00
Yasuo Ohgaki
b1b5e42251
Fixed reference to freed zval string value.
2002-05-04 09:46:44 +00:00
Yasuo Ohgaki
dfc48de0cb
Fixed crash when buffer is over written in ob callback. (Bug $ 12227)
...
Added check current output function check for Centent-Length header.
@ Fixed output buffer crash when buffer is over written in callback. (Yasuo)
2002-05-04 03:02:51 +00:00
Thies C. Arntzen
9712a4b3c8
@ - Added output_add_rewrite_var() and output_remove_rewrite_var() to inject
...
@ and remove variables from the URL-Rewriter. (thies)
i have also modified the session module to use this - so it doesn't
need to fiddle with the output-system any more
2002-05-03 08:00:41 +00:00
Yasuo Ohgaki
5b83e9294c
Change nest level to send Content-Length again. It seems this is the
...
best setting for now.
PHP will not send Content-Length always. It only sends when it is
possible to send. output_buffer=0 is supposed to disable chunked
output, but it seems it does not disable. It also behaves a litte
strange way. This should be addressed someday.
It is possible Content-Length header is not set. If it happens, try to
increase chunk size for now. (i.e. output_buffer=40960)
I included a little debug code for me and other develpers to play with,
when (NestLevel==1 && ObStatus==5), PHP sends Content-Length.
2002-05-02 13:55:05 +00:00
Yasuo Ohgaki
1103311eee
Fixed header output. Only need to output header when it is actually sent to client.
2002-05-02 06:50:18 +00:00
Yasuo Ohgaki
8ee815ec91
Check buffer status
2002-05-02 04:04:59 +00:00
Yasuo Ohgaki
f61b795a8f
Make Content-Type output always correct.
...
# Flushing buffer is needed to be fixed properly anyway...
2002-05-02 01:58:12 +00:00
Yasuo Ohgaki
43df0c78c0
Move Content-Length: header handling from zlib.c to output.c
...
When output buffer is enabled and header can be sent, Content-Length:
header is added always from now on.
2002-05-02 01:12:01 +00:00
Stanislav Malyshev
68e5f549c0
Init output_start_* to avoid "output started at ZZZZZ" messages
...
(which may result when output started while zend is neither compiling nor
executing - e.g., when file upload fails).
2002-04-24 16:53:07 +00:00
Jon Parise
57472aa318
Silence warning under Solaris 8 (WorkShop Compilers 5.0 98/12/15 C 5.0).
2002-03-04 10:58:00 +00:00
Hartmut Holzgraefe
bff90c71c1
typo fix
2002-03-02 16:41:55 +00:00
Yasuo Ohgaki
46bb7e0031
Do explicit test againt to FAILURE.
...
# Thanks Rasmus.
2002-03-01 09:29:32 +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
Yasuo Ohgaki
88e3aa7af6
Legacy code removed.
...
This line incorrectly removes buffer.
This line was correct only when ouput.c does not support
nested output buffers. Fixed bug #15178
2002-02-07 02:50:28 +00:00
Yasuo Ohgaki
a3e676f64b
pval -> zval
...
Check number of parameters
2002-02-05 07:37:42 +00:00
Sebastian Bergmann
38933514e1
Update headers.
2001-12-11 15:32:16 +00:00
Derick Rethans
1f14640b3e
- Added ob_get_level, which returns the nesting level of the output buffering
...
mechanism. (patch by Yasuo Ohgaki <yasuo_ohgaki@yahoo.com>)
@- Added ob_get_level, which returns the nesting level of the output buffering
@ mechanism. (Yasuo, Derick)
2001-12-03 07:43:53 +00:00
Derick Rethans
9190271cef
- Added ob_flush and ob_clean functions, which do not end the buffer like
...
ob_end_flush and ob_end_clean do.
@- Added ob_flush and ob_clean functions, which flush and clean an
@ output buffer without destroying the buffer. (Derick)
2001-11-30 10:48:38 +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
357dfd5f14
Support multiple chunked output buffering layers
2001-08-31 15:56:48 +00:00
Zeev Suraski
5c1c22764a
Fix double freeing
2001-08-31 15:16:15 +00:00
Zeev Suraski
13ff183225
Move the trans-sid mechanism to use the output buffering mechanism.
...
Advantages:
- Would work with the output buffering mechanism in general, and with
output compression in particular
- Should yield better performance (untested as of yet)
2001-08-25 15:57:42 +00:00
Zeev Suraski
e077c6bc28
Make it possible to enable chunked output buffering without providing
...
an output handling function
2001-08-11 22:55:00 +00:00
Sascha Schumann
373b3e101e
more tsrm cleanup -- output.c is not doing any fetches anymore
2001-08-05 15:55:43 +00:00
Sascha Schumann
8aef193056
more tsrm cleanup
2001-08-05 15:29:47 +00:00
Sascha Schumann
aafdfe82cb
further tsrm cleanup
2001-08-05 14:36:51 +00:00
Zeev Suraski
1159c84ab7
- TSRMLS_FETCH work
...
- whitespace fixes
2001-08-05 01:43:02 +00:00
Zeev Suraski
bc42c37513
More TSRMLS_FETCH work. Got it under 400 now.
2001-07-31 06:28:05 +00:00
Zeev Suraski
c43806f415
Zend compatibility patch
2001-07-30 08:24:42 +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
6f297a370a
Fix Windows build
2001-07-20 14:40:30 +00:00