Commit Graph

4959 Commits

Author SHA1 Message Date
Andrei Zmievski
09811323a9 bin2hex() should accept only binary strings. 2006-08-02 20:38:39 +00:00
Dmitry Stogov
be56f79c6f zts fix 2006-08-02 07:54:41 +00:00
Andrei Zmievski
263d329acd Fix leaks. 2006-08-02 02:11:56 +00:00
Andrei Zmievski
b67e1d9f92 Add SORT_LOCALE_STRING support to array_multisort() and mark it with U. 2006-08-01 22:28:26 +00:00
Andrei Zmievski
7b0fc1bb1c Whew. Fix up extract to params API, Unicode support, and simplify it as
well.
2006-08-01 21:50:44 +00:00
Antony Dovgal
20b0975a43 fix test
I really hope there are no systems where /dev is a symlink
2006-07-28 13:47:41 +00:00
Antony Dovgal
f6de0063dd patch for #37846 (wordwrap() wraps incorrectly)
by Dmitry Kononov <ddk at krasn dot ru>
2006-07-28 12:21:34 +00:00
Antony Dovgal
9f8046454b fix compile warning on Solaris, getloadavg() is in sys/loadavg.h there 2006-07-26 08:57:11 +00:00
Hannes Magnusson
0ba734cb6e Update protos & arginfo for memory_get_usage() & memory_get_peak_usage() 2006-07-25 16:40:11 +00:00
Dmitry Stogov
61d39cf1c1 Changed memory_get_usage() and memory_get_peak_usage(). Optional boolean argument allows get memory size allocated by emalloc() (by default) or real size of memory allocated from system. 2006-07-25 13:41:08 +00:00
Marcus Boerger
7dfc69f42e - Correctly handle binary proeprty names which are not mangled 2006-07-24 23:28:00 +00:00
Marcus Boerger
eb0fd63012 - zend_(u_)_unmangle_property_name() has changed 2006-07-24 17:55:41 +00:00
Marcus Boerger
f55c2d0885 - Tiny piece of unicode support 2006-07-23 06:05:23 +00:00
Andrei Zmievski
bcb2df2974 Apply Matt W's patch (with a fix) for array_combine() binary key safety. 2006-07-21 23:47:40 +00:00
Andrei Zmievski
54528ce322 Remove references to BG(user_compare_fnnc_name).
# Less bickering, more coding!
2006-07-21 23:29:25 +00:00
Andrei Zmievski
d32d425468 Make array_*intersect* functions use params API with FCI cache and mark
them with U.
2006-07-21 23:25:08 +00:00
Dmitry Stogov
7a09b15702 ZTS fix 2006-07-21 07:34:18 +00:00
Andrei Zmievski
40b4c60b9a Make array_walk(_recursive) use params API with FCI cache and mark them
with U.
2006-07-20 23:21:32 +00:00
Andrei Zmievski
6e9dcc4800 Make all array_*diff* functions use params API (along with FCI cache)
and mark them with U.

# What a mess (before my changes of course) :)
2006-07-20 22:51:20 +00:00
Andrei Zmievski
e9a9a26e7e Rewrite array_map() to use params API with fci cache and mark it with U. 2006-07-20 20:54:23 +00:00
foobar
b3f926bf21 update 2006-07-20 10:08:31 +00:00
Michael Wallner
73ba3e2592 - added error_get_last() function 2006-07-19 12:25:02 +00:00
Dmitry Stogov
6687f0377b New memory manager 2006-07-18 09:08:06 +00:00
Andrei Zmievski
675832c204 Update array_filter() and array_reduce() to use params API with FCI
cache and mark them with U.
2006-07-17 22:18:01 +00:00
Andrei Zmievski
34e5b3befa Upgrade uasort() and uksort() to use params API with FCI cache and mark
them with U.
2006-07-17 21:20:02 +00:00
Andrei Zmievski
fdf280b41b - Upgrade usort() to support Unicode (including valid Unicode callbacks).
- Make usort() use 'f' specifier for function call info/cache.
2006-07-17 20:52:12 +00:00
Michael Wallner
6ad2093794 MFB52: fix bug #37945 pathinfo() cannot handle argument with special
characters like german "Umlaute"
2006-07-17 20:43:07 +00:00
Andrei Zmievski
0bb270d352 - Use zend_uchar for param type
- %v is for UG() - dependent strings, which is not the case here
- 'T' is only useful for multiple parameters, so use 't' instead
2006-07-17 19:32:10 +00:00
Antony Dovgal
a3952b7495 tweak constant() to use the brand new unicode parameters API 2006-07-17 07:11:06 +00:00
Antony Dovgal
8177adf8fb make use of new param parsing API
use convert_to_text(), which makes constant() unicode aware
finally nuke invalid reads
2006-07-17 07:02:26 +00:00
Antony Dovgal
688000ca74 fix access to freed memory in pathinfo()
add test
2006-07-17 06:44:45 +00:00
Antony Dovgal
50242cd8c5 3+1 != 3 =) 2006-07-16 15:59:02 +00:00
Pierre Joye
02a92e7eb5 - MFB: PATHINFO_FILENAME constant registration (Sara) 2006-07-16 15:56:00 +00:00
Antony Dovgal
6b4bfe4a35 all stream functions are actually macros that already have TSRMLS_CC,
no need to pass it manually
2006-07-16 15:54:25 +00:00
Marcus Boerger
5544029699 - Fixed Bug #29538 number_format and problem with 0 2006-07-16 10:49:06 +00:00
Marcus Boerger
92a47b44b4 - Pathinfo allows to get filename (Toby S, Christian S) 2006-07-16 10:34:32 +00:00
Marcus Boerger
d795e0b9bb - Implement todo: SplFileObject: ability to set the CSV separator per object 2006-07-15 14:31:51 +00:00
Marcus Boerger
dd47d64887 - Readd proto 2006-07-15 12:09:13 +00:00
Marcus Boerger
adc5a7f087 - Update array_fill_keys, better unicode support, use new param parsing API 2006-07-15 12:06:10 +00:00
Marcus Boerger
da5c076100 - Add array_fill_keys() (Matt W, php_lists at realplain com) 2006-07-15 10:10:47 +00:00
Andrei Zmievski
246585490b Add test for compact(). 2006-07-14 23:04:58 +00:00
Andrei Zmievski
853ab6e09f Adjust array_pad(), array_reverse(), and array_unique() for params API
and mark them with U.
2006-07-14 22:41:22 +00:00
Andrei Zmievski
5766cdbd01 - Simplify array_combine() and adjust for params API
- Adjust array_count_values() and array_rand() for params API and mark
  with U
2006-07-14 22:15:54 +00:00
Andrei Zmievski
40cabdca59 Adjust array_key_exists(), array_slice(), and array_splice() for params
API and mark them with U.
2006-07-14 21:16:30 +00:00
Sara Golemon
74eb59da59 #38105 (4/3) ustrlen != USTRLEN, update variable names used to keep this block's meaning clear 2006-07-14 20:50:45 +00:00
Antony Dovgal
44ad98405f MFB: rephrase the error message (fixes #38106) 2006-07-14 20:45:37 +00:00
Andrei Zmievski
8d28257255 Make array_change_key_case() -- a candidate for the quite possibly the
most useless function ever -- use params API and mark it with U.
2006-07-14 20:07:57 +00:00
Sara Golemon
165b2f2b76 #38105 (3/3) Default file_put_contents() to FILE_TEXT when unicode.semantics=on and flags param not specified 2006-07-14 19:16:23 +00:00
Andrei Zmievski
6dfb4768b4 Update end(), prev(), next(), reset(), current(), and key() for params
API and mark with U.
2006-07-14 18:12:45 +00:00
Andrei Zmievski
0322c14d14 Update array_search()/in_array() for params API and mark with U. 2006-07-14 18:03:13 +00:00
Andrei Zmievski
f344fe0153 Update array_keys() and array_values() for params API and mark with U. 2006-07-14 17:55:27 +00:00
Andrei Zmievski
c30d1ecf11 - Simplify array_fill().
- Do params API for a couple of funcs and mark them as Unicode
  compliant.
2006-07-14 17:35:54 +00:00
Antony Dovgal
8d8344272e WS and CS fixes
I suppose STR_FREE() is better than if(..) {efree (..);}
2006-07-14 08:38:30 +00:00
Dmitry Stogov
73001d4257 Fixed unserialize() in unicode mode 2006-07-14 08:29:06 +00:00
Andrei Zmievski
f717e25ce7 FIXME note 2006-07-13 22:26:50 +00:00
Andrei Zmievski
c8254d82d7 Update array_sum() and array_product() (U). 2006-07-13 22:26:42 +00:00
Andrei Zmievski
8553cf9da8 Mark a few more funcs. 2006-07-13 22:03:42 +00:00
Andrei Zmievski
2fbc36496f - Let the caller output a warning instead of having
zend_get_unified_string_type() do it.
- Mark a few more functions are Unicode compatible.
2006-07-13 21:27:48 +00:00
Andrei Zmievski
c01957091a - Make compact() normalize variablem name before checking symtable.
- Mark tested/upgraded functions with 'U' flag.
2006-07-13 21:08:43 +00:00
Antony Dovgal
87d846c2cb initialize variables 2006-07-13 17:55:50 +00:00
Antony Dovgal
12f44c2b2b fix #38086 (stream_copy_to_stream() returns 0 when maxlen is bigger than the actual length) 2006-07-13 11:58:42 +00:00
Antony Dovgal
9aa7c1d6e9 fix assert() in Unicode mode 2006-07-12 22:19:12 +00:00
Andrei Zmievski
938f6d4141 Use zend_convert_from_unicode() in var_dump(). 2006-07-12 17:23:53 +00:00
Antony Dovgal
9de18e2ca2 don't try to compare strings if haystack is "" or shorter than needle
add test
2006-07-12 12:33:04 +00:00
Antony Dovgal
8db69d4005 add new tests by Ligaya Turmelle 2006-07-11 21:28:07 +00:00
Antony Dovgal
f41a4f4546 /tmp is often a symlink, use /bin instead 2006-07-11 21:19:56 +00:00
Dmitry Stogov
14a10f441d Fixed bug #37947 (zend_ptr_stack reallocation problem) 2006-07-10 14:02:54 +00:00
Hannes Magnusson
8f1d44beea make everyone happy 2006-07-03 22:41:46 +00:00
Hannes Magnusson
302deb04d8 fix tests 2006-07-03 16:03:39 +00:00
Hannes Magnusson
12fbcb6344 nuke types in arginfo 2006-07-02 00:10:36 +00:00
Nuno Lopes
ec2b150da0 MFB5.2: fix assert() problems 2006-07-01 12:29:38 +00:00
Hannes Magnusson
226fa23b51 Do not force pass by-ref, these functions only prefer by-ref 2006-06-30 18:16:50 +00:00
Antony Dovgal
9f65fd37c6 add error messages to disk_free_space() & disk_total_space() (feature request #37971) 2006-06-30 10:52:51 +00:00
Antony Dovgal
a6e26b742a fix off-by-one in addslashes() in Unicode mode 2006-06-30 09:35:21 +00:00
Hannes Magnusson
d03ba9cdc5 fix test 2006-06-29 14:53:31 +00:00
Hannes Magnusson
b9c078acf4 url->URL 2006-06-29 14:42:30 +00:00
Hannes Magnusson
0a2cfcce41 MFB: url -> URL 2006-06-29 14:32:24 +00:00
Antony Dovgal
bfceaaf1d1 unicode_semantics -> unicode.semantics 2006-06-28 15:07:14 +00:00
Hannes Magnusson
ba0175365c arginfo fixes 2006-06-27 22:14:07 +00:00
Hannes Magnusson
29ca8007ee Add arginfo for sys_getloadavg()
iUpdate arginfo for base64_decode()
2006-06-26 22:19:04 +00:00
Hannes Magnusson
0cce3777ea MFB: bug #37244 (base64_decode violates RFC 3548)
-Add test
2006-06-26 22:17:43 +00:00
Hannes Magnusson
e9c59b98ac MFB: sys_getloadavg() 2006-06-26 20:28:30 +00:00
Rasmus Lerdorf
157ce4f35e Cleaner fix 2006-06-26 13:10:31 +00:00
Rasmus Lerdorf
eef9835bb1 sapi_getenv() estrdups the returned string now, so we need to free it 2006-06-26 13:03:41 +00:00
Hannes Magnusson
731c3e4db0 Removed custom deprecate error messages
Use the fancy ZEND_ACC_DEPRECATED flag.
2006-06-26 11:31:19 +00:00
Hannes Magnusson
f4ea75f240 Added argument info
(forces user-space filters to register correct arguments)
Added tests
2006-06-25 22:51:55 +00:00
Antony Dovgal
361c7da159 MFB: improve test 2006-06-25 21:23:38 +00:00
Hannes Magnusson
3f2f258517 Enabled image_type_to_extension() which has been in cvs for 2,5 years now..
Added test
2006-06-25 20:52:34 +00:00
Hannes Magnusson
57e8133427 Fixed image_type_to_extension()
Added support for IMAGETYPE_JPX & IMAGETYPE_JB2
2006-06-25 20:51:31 +00:00
Hannes Magnusson
bf0a79d381 Updated protos
Fixed vim folding
2006-06-25 19:19:31 +00:00
Hannes Magnusson
9f96f0340b Argument info 2006-06-25 19:17:20 +00:00
Ilia Alshanetsky
a2b61371cd MFB: Change E_ERROR to E_RECOVERABLE_ERROR 2006-06-23 11:40:14 +00:00
Nuno Lopes
b5fda0101c MFB 5.2 2006-06-20 21:58:03 +00:00
Antony Dovgal
016fe711f9 fix tests 2006-06-20 19:49:44 +00:00
Hannes Magnusson
1cb807ab63 Renamed file to bug37864.phpt 2006-06-20 19:31:04 +00:00
Hannes Magnusson
2c87f890bc Test for bug #37864 (file_get_contents() leaks on empty file) 2006-06-20 19:30:19 +00:00
Antony Dovgal
3d0e1456e4 fix test 2006-06-20 19:12:12 +00:00
Antony Dovgal
bc5a9692cb don't leave garbage in tmp dir 2006-06-20 18:55:37 +00:00
Hannes Magnusson
f3334c8df3 add test for file_get_contents() leaking on empty file 2006-06-20 18:46:14 +00:00
Antony Dovgal
f59302fe60 fix test to work on all platforms 2006-06-20 13:14:20 +00:00
Hannes Magnusson
a24552497f Fixed test 2006-06-14 19:47:30 +00:00
Ilia Alshanetsky
4ccab9d5ab MFB: Fixed ZTS build 2006-06-11 20:47:55 +00:00
Hannes Magnusson
53d262c04d Nuke unused var 2006-06-11 20:33:29 +00:00
Ilia Alshanetsky
2863d56d8a MFB: Fully print array() in phpinfo(). 2006-06-11 16:27:41 +00:00
Ilia Alshanetsky
6434512a05 MFB: Improved performance of str_replace() when doing 1 char to 1 char or 1
char to many chars replacement by 30-40%.
2006-06-10 15:51:23 +00:00
Andrei Zmievski
a871adf6bb MFB 2006-06-03 18:58:40 +00:00
Michael Wallner
231ad17475 - explicit usage of TS macros
# this could have been raised a lot earlier
2006-06-03 11:19:44 +00:00
Michael Wallner
be96a46e96 - fix encoding 2006-06-02 20:09:22 +00:00
Michael Wallner
4ce0141713 - new output control code
# scan README.NEW-OUTPUT-API to get a grasp
# tree has been tagged with BEFORE_NEW_OUTPUT_API
#
# TODO:
#  - improve existing output handlers
#  - move zlib.output_compression cruft from SAPI.c to zlib.c
#  - output_encoding handling was ambigious, resp. is undefined yet
#  - more tests
2006-06-02 19:51:43 +00:00
Ilia Alshanetsky
c270a8e627 MFB: fixed compiler warning 2006-06-01 22:42:53 +00:00
Antony Dovgal
01bc25e4b6 suppress_errors is used only on Win32, no need to look for it on other systems 2006-06-01 14:03:38 +00:00
Antony Dovgal
3e5407b16d nuke unused variable 2006-06-01 13:45:16 +00:00
Antony Dovgal
12a2d02b99 fix tests 2006-06-01 13:04:10 +00:00
Sara Golemon
a8ca40564c Minor fixes (bjori) 2006-05-30 19:05:21 +00:00
Ilia Alshanetsky
1aadb29d51 MFB: Added memory_get_peak_usage() function for retrieving peak memory
usage of a PHP script.
2006-05-30 14:51:54 +00:00
Antony Dovgal
11b66c6cec add test 2006-05-29 10:42:37 +00:00
Antony Dovgal
d5f90c48c7 initialize srcstream
use different variable in local scope
2006-05-29 10:42:10 +00:00
Antony Dovgal
f59d444d8a prevent resource leaking when passing invalid stream resource as second argument 2006-05-29 10:23:53 +00:00
Johannes Schlüter
40da89d6b9 - Fix str_replace with unicode strings as key 2006-05-28 21:09:58 +00:00
Marcus Boerger
875caa4870 - MFB 2006-05-25 10:50:53 +00:00
Ilia Alshanetsky
940ed4a426 MFB: Fixed bug #37563 (array_key_exists performance is poor for &$array). 2006-05-24 23:14:36 +00:00
Marcus Boerger
c627a4819b - Add more tests from Ligaya Turmelle 2006-05-23 23:45:39 +00:00
Marcus Boerger
47343620cb - Add new test 2006-05-23 22:26:55 +00:00
Marcus Boerger
a4d6c5a6f0 - Handle corrupt base64 data in data: url 2006-05-21 13:35:06 +00:00
Marcus Boerger
e7d381f7b6 - Drop unneccesary check and change to safe_emalloc 2006-05-21 13:25:16 +00:00
Hartmut Holzgraefe
205bdeda41 Name change: php_get_tmpdir() renamed to sys_get_temp_dir() 2006-05-19 10:44:34 +00:00
Antony Dovgal
bd6125c312 add new tests by Ligaya Turmelle 2006-05-19 07:44:58 +00:00
Dmitry Stogov
ab9e070bbf Optimized zend_try/zend_catch macroses (eliminated memcpy()) 2006-05-19 06:11:02 +00:00
Ilia Alshanetsky
1dd395b27f MFB: Fixed bug #37505 (touch() truncates large files). 2006-05-19 02:51:18 +00:00
Ilia Alshanetsky
1226d31151 MFB: Make filters without a resource throw E_RECOVERABLE_ERROR rather then
E_ERROR
2006-05-16 14:12:52 +00:00
Antony Dovgal
17c98844d5 new mkdir tests 2006-05-16 13:07:07 +00:00
Marcus Boerger
3856d8da6d - Add strict compliant RFC2397 support (no //) 2006-05-14 18:35:40 +00:00
Marcus Boerger
3b66ab74f9 - RFC2397 add decoding
# done (need to decide whether all examples shouldl work or specs are
# followed)
2006-05-14 01:39:24 +00:00
Marcus Boerger
73069100fd - Change to use dedicated stream ops 2006-05-14 00:45:27 +00:00
Marcus Boerger
4f29479a22 - RFC 2397 meta data handling 2006-05-14 00:40:53 +00:00
Marcus Boerger
29c0f5bede - Initial RFC2397 support
# decoding is missing right now
2006-05-13 17:53:01 +00:00
Ilia Alshanetsky
7dd87b5307 MFB: Fixed bug #37394 (substr_compare() returns an error when offset equals
string length).
2006-05-10 13:07:56 +00:00
Hartmut Holzgraefe
daa5febadf Added php_get_tmpdir() function that returns the default directory for
temporary files (as requested in bug #35380)
2006-05-06 09:59:02 +00:00
Sara Golemon
d77a8562c2 Unicode Updates:
file() now unicode ready
get_meta_tags() updated for FS encoding, but content is still non-unicode
2006-05-02 18:23:32 +00:00
Marcus Boerger
dcc51c1977 - WS 2006-05-01 15:59:56 +00:00
Frank M. Kromann
954199c9fb More ZSTR() fixes 2006-04-29 14:53:26 +00:00
Frank M. Kromann
e6e2754439 Remove ZSTR() from stream macros. Calling function must apply this macro 2006-04-28 19:03:58 +00:00
Antony Dovgal
cf31c2f51a remove nonexistent tag 2006-04-25 12:50:14 +00:00
Antony Dovgal
7bde7e87eb MF51: fix possible substr_compare() crash
add new tests
2006-04-25 12:49:04 +00:00
Antony Dovgal
8a434f5df0 merge fix for #37158 into HEAD
add test
2006-04-22 23:49:39 +00:00
Frank M. Kromann
1791befa0c Fix Win32 build. NULL_ZSTR was converted to ZSTR(NULL_ZSTR) 2006-04-22 10:39:31 +00:00
Antony Dovgal
acf25d1aac fix typo (see #35900) 2006-04-19 08:43:05 +00:00
Sara Golemon
ea106887a7 Silence compiler warnings 2006-04-18 19:10:12 +00:00
Andrei Zmievski
efd298e2eb I'm not sure what the heck people were thinking here, but it should be
fixed finally. Please test.
2006-04-18 05:18:12 +00:00
Andrei Zmievski
6b336175a6 Fix trim("a") bug. 2006-04-18 02:40:29 +00:00
Sara Golemon
04ecb8b1fd Fix 'soft line break' handling in convert.quoted-printable-decode 2006-04-17 19:25:48 +00:00
Ilia Alshanetsky
78b81f2591 MFB51: fixed typo 2006-04-16 17:41:26 +00:00
Ilia Alshanetsky
53ab6c0920 MFB51: Fixed bug #37045 (Fixed check for special chars for http redirects). 2006-04-16 16:55:25 +00:00
Antony Dovgal
8c086bcf8d make this test to work on all systems 2006-04-14 20:30:47 +00:00
Sara Golemon
1e9a9d596b MFB (r-1.409.2.6) copy() should not disrespect open_basedir on source file 2006-04-14 17:44:56 +00:00
Antony Dovgal
becb273c16 MF51: fix #37077 (stream_socket_server() leaks when the port is not allowed) 2006-04-14 10:01:34 +00:00
Sara Golemon
d05836890b Preserve full name of filter for use in stream_get_meta_data() 2006-04-13 04:41:08 +00:00
Sara Golemon
0b84c73635 Allow http:// wrapper to automatically apply correct unicode.from.* filter based on content-type header 2006-04-12 22:40:56 +00:00
Antony Dovgal
a44fe39f40 fix test title 2006-04-12 22:21:13 +00:00
Johannes Schlüter
e7747e8d74 - Fix bug #37060 (Type of retval of Countable::count() is not checked) 2006-04-12 19:29:52 +00:00
Ilia Alshanetsky
490609ffc4 MFB51: fixed test 2006-04-10 23:48:38 +00:00
foobar
6af3218f81 more cleanup (lingering ini settings which do not exist anymore, etc.) 2006-04-10 15:09:15 +00:00
foobar
a6a3c9059d - Fixed bug #36909 (ld: Undefined symbols: _lchown) 2006-04-10 11:56:04 +00:00
foobar
0e8b5470be fix credits 2006-04-10 09:46:32 +00:00
Ilia Alshanetsky
f58ef85af5 MFB51: Fixed bug #36875 (is_*() functions do not account for open_basedir). 2006-04-09 17:58:02 +00:00
Sara Golemon
5a9feaa6b1 Plug leak which occurs in unicode mode 2006-04-06 20:05:43 +00:00
Sara Golemon
b6f62cabff Silence false positives on test results 2006-04-06 20:03:27 +00:00
Sara Golemon
78d1f7ea40 Silence false positives in test failures 2006-04-06 19:51:36 +00:00
Antony Dovgal
4e85f445f0 add test 2006-04-05 12:29:35 +00:00
Ilia Alshanetsky
1df7d39695 Fixed bug #36957 (serialize() does not handle recursion). 2006-04-05 02:28:39 +00:00
Derick Rethans
1bad8fea12 - No need to have this one twice here... (Thanks Steph) 2006-04-04 06:04:49 +00:00
Ilia Alshanetsky
a24cb8773f MFB51: Fixed an unlikely, but possible memory leak. 2006-04-03 13:46:35 +00:00
Antony Dovgal
0b0fff07b2 fix spelling in error messages:
greater/less thEn -> greater/less thAn
2006-04-03 09:14:50 +00:00
Sara Golemon
53450fae8a Update tests for working with unicode 2006-04-03 05:57:40 +00:00
Sara Golemon
b2523b29b8 Update filename handling and mark various functions for unicode safety 2006-04-01 00:05:31 +00:00
Sara Golemon
fd606a8d78 Add API hooks and unicode.filesystem_encoding for handling unicode
conversions of filename entries.

Normal path conversions will simply use this converter,
Certain other protocols (such as http) which specify a
required character set (utf8), may override the conversion
by defining a path_encode() and/or path_decode() wrapper ops method.
2006-03-31 22:51:37 +00:00
Antony Dovgal
ec376e510c MF51: fix compile failure with old GCC (see bug #36931) 2006-03-31 11:11:26 +00:00
Antony Dovgal
4f1da95828 fix TSRM build 2006-03-30 19:59:51 +00:00
Ilia Alshanetsky
0f48af3cec MFB51: Fixed XSS inside phpinfo() with long inputs. 2006-03-30 19:16:28 +00:00
Sara Golemon
51b9a0f269 Make php_stream_copy_to_mem() unicode aware and
update userspace function file_get_contents().

Note: fgc()'s second parameter (use_include_path) has been changed
to be a bitmask "flags" parameter instead.

For the most commonly used values (TRUE, 1) this will continue functioning
as expected since the value of FILE_USE_INCLUDE_PATH is (coincidentally) 1.
The impact to other values should be noted in the migration6 guide.

This change makes it possible to allow fgc() to return binary file
contents (default) or unicode transcoded contents (using FILE_TEXT flag).
2006-03-30 00:22:51 +00:00
Sara Golemon
1c97a0d78c Update php_stream_passthru() to handle unicode data.
This updates userspace functions fpassthru() and readfile()

UG(output_encoding) is used by php_stream_passthru() to translate
unicode stream contents back to an outputable character set.

Note: readfile()'s second parameter (use_include_path) has been changed
to be a bitmask "flags" parameter instead.

For the most commonly used values (TRUE, 1) this will continue functioning
as expected since the value of FILE_USE_INCLUDE_PATH is (coincidentally) 1.
The impact to other values should be noted in the migration6 guide.

This change makes it possible to allow readfile() to output binary file
contents (default) or unicode transcoded contents (using FILE_TEXT flag).
2006-03-29 22:52:24 +00:00
Andrei Zmievski
d57e79782e Bug! 2006-03-29 05:56:06 +00:00
Sara Golemon
30a2bd1d11 Another (and hopefully last) major streams commit.
This moves unicode conversion to the filter layer
(rather than at the lower streams layer)
unicode_filter.c has been moved from ext/unicode to main/streams
as it's an integral part of the streams unicode conversion process.

There are now three ways to set encoding on a stream:

(1) By context
$ctx = stream_context_create(NULL,array('encoding'=>'latin1'));
$fp = fopen('somefile', 'r+t', false, $ctx);

(2) By stream_encoding()
$fp = fopen('somefile', 'r+');
stream_encoding($fp, 'latin1');

(3) By filter
$fp = fopen('somefile', 'r+');
stream_filter_append($fp, 'unicode.from.latin1', STREAM_FILTER_READ);
stream_filter_append($fp, 'unicode.to.latin1', STREAM_FILTER_WRITE);

Note: Methods 1 and 2 are convenience wrappers around method 3.
2006-03-29 01:20:43 +00:00
Ilia Alshanetsky
75c7f810ea MFB51: Check 2nd parameter of tempnam() against path components. 2006-03-27 23:41:05 +00:00
Andrei Zmievski
e85495f6f1 Fix UErrorCode check. 2006-03-27 23:05:38 +00:00
Andrei Zmievski
d761aa7eb2 Typo. 2006-03-27 22:16:53 +00:00
Andrei Zmievski
626be75d6c Make a UTODO note. 2006-03-27 21:19:12 +00:00
Andrei Zmievski
a8c291f8fe Proto updates. 2006-03-27 19:24:18 +00:00
Dmitry Stogov
d1d9ce8fed Test for strtr() with non-ascii encoding 2006-03-27 14:37:14 +00:00
Dmitry Stogov
9d9adb2f35 Unicode support 2006-03-27 14:19:18 +00:00
Dmitry Stogov
c744d73d04 Unicode support 2006-03-27 13:37:47 +00:00
Dmitry Stogov
06cfa710b4 Fixed testFixed testFixed testFixed testFixed testFixed testFixed testFixed testFixed test 2006-03-27 10:15:02 +00:00
Dmitry Stogov
bdfa3b1d36 Fixed ZTS build 2006-03-27 06:02:42 +00:00
Ilia Alshanetsky
3bf02bde43 MFB51: Fixed bug #36857 (Added support for partial content fetching to the
HTTP streams wrapper).
2006-03-26 17:12:26 +00:00
Derick Rethans
ad6a972de3 - Implemented basic collation support. For some reason "new Collator" gives segfaults when the object's collation resource is used.
- The following example shows what is implemented:

<?php
$orig = $strings = array(
    'côte',
    'cote',
    'côté',
    'coté',
    'fluße',
    'flüße',
);

echo "German phonebook:\n";
$c = collator_create( "de@collation=phonebook" );
foreach($c->sort($strings) as $string) {
    echo $string, "\n";
}
echo $c->getAttribute(Collator::FRENCH_COLLATION) == Collator::ON
    ? "With" : "Without", " french accent sorting order\n";

echo "\nFrench with options:\n";
$c = collator_create( "fr" );
$c->setAttribute(Collator::CASE_FIRST, Collator::UPPER_FIRST);
$c->setAttribute(Collator::CASE_LEVEL, Collator::ON);
$c->setStrength(Collator::SECONDARY);
foreach($c->sort($strings) as $string) {
    echo $string, "\n";
}
echo $c->getAttribute(Collator::FRENCH_COLLATION) == Collator::ON
    ? "With" : "Without", " french accent sorting order\n";
?>
2006-03-26 11:06:24 +00:00
Sara Golemon
a64789a452 Expand stream_context_create() to allow specifying params
as well as options.  Ignore the internal name change of the first arg.
The first arg is still for options, the second arg is for actual params.
2006-03-26 04:40:11 +00:00
Derick Rethans
3df5f17231 - Commit intermediate work so that I can hack on it on some plane. 2006-03-26 02:15:47 +00:00
Sara Golemon
f67ed7f3d4 Allow bidirectional encoding option via single context param 2006-03-24 22:27:13 +00:00
Sara Golemon
dfc827d108 Fix stream_get_line():
Checking type isn't nearly as important as checking nullness...
2006-03-24 21:37:42 +00:00
Sara Golemon
0b2b16e6c7 Update fgetss() for unicode 2006-03-24 21:32:39 +00:00
Sara Golemon
880dd406f2 Add php_stream_get_record_unicde() API call.
Update stream_get_line() userspace function to handle unicode streams.
2006-03-24 19:22:24 +00:00
Ilia Alshanetsky
96afde2af7 MFB51:
Added myself to PDO and PDO_MySQL credits
Added Wez to PDO_MySQL credits
Added Tony to Q&A team credits
Regenerated the credits file
2006-03-23 18:39:12 +00:00
Antony Dovgal
932c5d9e0e MF51: prevent segfault when exception is thrown from Countable::count() 2006-03-22 22:06:08 +00:00
Antony Dovgal
a4c6a19335 use set_time_limit(), this test takes forever on AIX 2006-03-22 19:27:28 +00:00
Derick Rethans
3056defb26 - Moved strtotitle to ext/standard and implemented the fallback case to
non-unicode with ucwords. There is also an implementation for unicode ucwords
  but that returns different results then strtotitle as it uppercases the
  first character of every word, and doesn't *titlecase* a word. The test case
  shows that.
2006-03-22 10:20:20 +00:00
Ilia Alshanetsky
f7875f813c MFB51: Fixed bug #36689 (Removed arbitrary limit on the length of syslog
messages).
2006-03-21 00:59:41 +00:00
Antony Dovgal
c2eabef473 shutdown syslog module before freeing basic_globals 2006-03-20 23:33:07 +00:00
Antony Dovgal
6901e09492 MF51: fix #36808 (syslog ident becomes garbage between requests) 2006-03-20 23:07:31 +00:00
Antony Dovgal
1df7e13f48 fix #36741 (userstreams testcase have off-by-one error on fseek()) 2006-03-20 22:08:59 +00:00
Antony Dovgal
ba1ac82bc9 don't leak memory even though the code is not stable yet 2006-03-20 20:09:20 +00:00
Antony Dovgal
9557d44ed8 fix buffer overrun 2006-03-20 14:10:23 +00:00
Antony Dovgal
2c750d7f84 make the code a bit cleaner - no need for two different checks that are doing effectively the same 2006-03-19 22:12:39 +00:00
Marcus Boerger
792e4d9f4d - Fix TSRM 2006-03-17 23:14:55 +00:00
Andrei Zmievski
25b95e4250 Make is_string() return TRUE for both Unicode and binary strings. 2006-03-17 23:00:20 +00:00
Andrei Zmievski
a75b8f5f35 Fix compiler errors by using NULL_ZSTR where zstr is expected.
# I guess we need to use NULL_ZSTR instead of NULL when passing NULL to
# functions that expect zstr parameter.
2006-03-17 22:52:55 +00:00
Andrei Zmievski
6b165251db Calculate the size of the tmp[] buffer directly at compile time. 2006-03-17 22:51:20 +00:00
Derick Rethans
c6b425432a - Actually make this is_binary() too. 2006-03-17 14:53:57 +00:00
Derick Rethans
2ffc93140d - Fixed bug in ucfirst() implementation. If the tmp_len = 0 then it will not
write the uppercased character to the buffer, but only returns the length of
  the uppercased letter as per
  http://icu.sourceforge.net/apiref/icu4c/ustring_8h.html#a50.
- Updated is_string():
  If Unicode semantics is turned on, return "true" for Unicode strings only.
  If Unicode semantics is turned off, return "true" for native strings only.
- Added is_binary() function that returns "true" for native strings only.
- Added first implementation of upgraded strtr function. It works except if
  combining sequences or surrogates are used in the non-array method of calling
  this function.
2006-03-17 14:29:05 +00:00
Dmitry Stogov
86780519d4 Disabled dl(). Now it is enabled only when a SAPI layer registers it explicitly. Only CLI, CGI and EMBED do this. 2006-03-16 16:53:10 +00:00
Dmitry Stogov
9d7ca01c8b Dropped allow_call_time_pass_reference, the error is maden E_STRICT. 2006-03-16 11:32:00 +00:00
Derick Rethans
c76917a773 - Fixed two memory issues:
- In the first one we were calculating the tmp_len wrong which made the
	u_strFromUTF32() function try to convert too many code points.
  - The second issue was a bit more subtle as the "what" string wasn't
	duplicated but still modified. This string is passed as data to the
	function and this kind of data the engine tries to free when the function
	ends. Because we were re-allocating the data the original memory location
	was already freed resulting in a double free error when the engine tries to
	free the argument as it was passed to the function.
2006-03-15 12:20:49 +00:00
Derick Rethans
52bec1ea36 - Reduce space in serialization. The first 128 bytes will now use just the
character and everything above will use \uXXXX. It seems that unserialize
  doesn't work at all yet on the U: element so that I added to my to-do list.
2006-03-15 09:50:47 +00:00
Sara Golemon
df77705572 Switch (zstr) casts to use ZSTR() macro. 2006-03-15 00:28:57 +00:00
Sara Golemon
b576354982 More stream updates.
fgets() will work now as will anything which calls one of the
_php_stream_get_line() family of functions.
The one exception here is when the legacy defines are used on a unicode
stream.  At the moment they'll simply return NULL, I'll update these
to do sloppy conversion in a bit.

'make (u)test' still doesn't work, but it's a different doesn't work.
2006-03-14 21:15:05 +00:00
Antony Dovgal
49ec971d85 add brackets and clarity 2006-03-14 15:14:59 +00:00
Ilia Alshanetsky
24d06926d4 MFB51: Fixed offset/length parameter validation in substr_compare() function. 2006-03-14 14:55:27 +00:00
Derick Rethans
f7bfe18307 This makes file_put_contents() work for:
<?php
    declare(encoding="latin1");
    $a = "1234å67890";
    file_put_contents( "/tmp/testuc.1", $a);
    file_put_contents( "/tmp/testuc.2", (string) $a);

    $context = stream_context_create();
    stream_context_set_params($context, array( "output_encoding" => "latin1" ) );
    file_put_contents( "/tmp/testuc.3", $a, FILE_TEXT, $context);
    file_put_contents( "/tmp/testuc.4", (string) $a, FILE_TEXT, $context);
?>

But it still throws a warning on ".3". It's a small design issue that I
didn't want to touch right now.
2006-03-13 15:01:44 +00:00
Ilia Alshanetsky
fef63cd5e5 MFB51: Added overflow checks to wordwrap() function. 2006-03-13 14:37:32 +00:00
Sara Golemon
48798021b5 Refactor streams layer for PHP6.
Don't be frightened by the size of this commit.
A significant portion of it is restoring the read buffer semantics back
to what PHP4/5 use.  (Or a close aproximation thereof).

See main/streams/streams.c and ext/standard/file.c for a set of
UTODO comments covering work yet to be done.
2006-03-13 04:40:11 +00:00
Dmitry Stogov
cebd9e8f30 Fixed debug_zval_dump() to support private and protected members 2006-03-10 08:43:14 +00:00
Michael Wallner
9656a34cbc MFB: Fix bug #36656 (http_build_query generates invalid URIs due to use of square brackets) 2006-03-08 22:04:48 +00:00
Ilia Alshanetsky
27e175eef0 So long safe_mode mode.
Also removed the magic_quotes configure option, no longer relevant since
the magic is gone :-).
2006-03-08 14:41:45 +00:00
Pierre Joye
bb1ec86f9d - remove magic_quotes_gpc, magic_quotes_runtime, magic_quotes_sybase
(calling ini_set('magic_....') returns 0|false
- get_magic_quotes_gpc, get_magic_quotes_runtime are kept but always return false
- set_magic_quotes_runtime raises an E_CORE_ERROR
2006-03-08 00:43:32 +00:00
Andrei Zmievski
da831e6e0c Fix protos to use 'string' for parameters that can be either binary or
unicode.
2006-03-06 21:49:21 +00:00
Ilia Alshanetsky
edd7d2a1df Fixed bug #36630 (umask not reset at the end of the request).
# This needs to be MFHed, but since it requires an API break it has to wait
# until the next minor release.
2006-03-06 14:27:45 +00:00
Derick Rethans
72c9d907d3 - And not here either... 2006-03-05 19:02:11 +00:00
Dmitry Stogov
b86007f0e1 ZTS fix 2006-03-03 08:50:25 +00:00
Andrei Zmievski
c5f6efe367 Fix ucwords() to use full case mapping.
# Note that this is different from i18n_strtotitle() which uses
# locale-aware word break iterator. The difference is seen here:
#
# $a = "pouvez-vous";
# var_dump(ucwords($a));
# var_dump(i18n_strtotitle($a));
#
# Outputs:
#
# unicode(11) "Pouvez-vous"
# unicode(11) "Pouvez-Vous"
#
2006-03-02 23:12:33 +00:00
Andrei Zmievski
1751241203 - Update protos for Unicode-upgraded functions
- Also fix ucfirst() to use full case mapping, so that ß (sharp s)
  maps to 'SS' for example
2006-03-02 20:37:07 +00:00
Dmitry Stogov
c366cc6d1a Nuke int32_t (everywhere except streams layer) and signed/unsigned warnings 2006-03-02 13:12:45 +00:00
Rob Richards
06a4265712 64-bit fixes - ("make test" now works again on these platforms) 2006-03-01 11:19:35 +00:00
Ilia Alshanetsky
d31641e2d8 Parsers for previous patch 2006-02-28 14:46:29 +00:00
Ilia Alshanetsky
1a3bb9f4bd MFB51: Fixed bug #36459 (Incorrect adding PHPSESSID to links, which
contains \r\n).
2006-02-28 14:45:52 +00:00
Dmitry Stogov
e3b7f3fd0d Unicode support: MS Visual C compatibility 2006-02-26 11:57:14 +00:00
Rasmus Lerdorf
f16846e685 Binary safety patch from Moriyoshi 2006-02-25 21:30:32 +00:00
Ilia Alshanetsky
a9b90524d5 MFB51: Fixed bug #35900 (stream_select() should warning when tv_sec is
negative).
2006-02-23 18:28:37 +00:00
Brian France
2eb346cce0 fixed bug #35594 for all systems. "optind = 0" doesn't work on FreeBSD, but "optind = 1" seems to work on all systems (bug #36091) 2006-02-23 03:48:30 +00:00
Dmitry Stogov
5237a40717 Unicode support: fixed serialization of "Serializable" 2006-02-22 14:20:54 +00:00
Dmitry Stogov
ba8069e77e Unicode support: fixed serealization of "Serializable" and "IncompleteClass" 2006-02-22 13:47:40 +00:00
Dmitry Stogov
84f0adff86 Unicode support: fixed GLOBALS protection 2006-02-22 13:10:32 +00:00