Andrei Zmievski
0b34032e49
- Fix strrpos() logic (which was broken even in PHP 5).
...
- Optimizations for a couple of functions.
2006-10-02 19:18:14 +00:00
Andrei Zmievski
e673ae2eb9
Make stripos() work with Unicode strings.
2006-10-02 16:52:22 +00:00
Sara Golemon
7f21f36e45
ZTS fix
2006-10-02 01:11:04 +00:00
Andrei Zmievski
2db5bfbadd
Heck, might as well commit this..
2006-09-29 21:00:07 +00:00
Antony Dovgal
cad50f1dd2
one more try to fix ZTS build
2006-09-23 12:22:07 +00:00
Antony Dovgal
e02e25dca2
fix ZTS build
2006-09-23 12:17:43 +00:00
Andrei Zmievski
ca83e9b7a7
Unicode upgrade for quotemeta(). Yes, I know it's ugly. You try making
...
it pretty.
2006-09-22 19:35:05 +00:00
Andrei Zmievski
cd58faa031
Bring localeconv(), money_format(), and nl_langinfo() to standards. Add
...
E_STRICT notices about them being deprecated in Unicode mode.
2006-09-22 18:24:12 +00:00
Andrei Zmievski
50fe3da0af
Unicode support in count_chars(). Note that due to the size of the
...
Unicode character set only mode=1 is supported.
2006-09-22 17:47:09 +00:00
Andrei Zmievski
7ff8b9b090
Bug fixes for substr_replace().
2006-09-20 20:30:19 +00:00
Dmitry Stogov
128548a5c0
Disabled autoconversion of hash keys (from string to unicode) for PHP arrays
2006-09-19 10:38:31 +00:00
Antony Dovgal
1e284298d7
more z/Z fixes
2006-08-31 14:19:33 +00:00
Antony Dovgal
f53f3b01dd
fix ZTS build
2006-08-30 20:24:32 +00:00
Ilia Alshanetsky
922fd02404
Avoid TSRMLS_FETCH
2006-08-30 18:40:26 +00:00
Dmitry Stogov
9ea1f365d9
ZTS fix
2006-08-22 04:54:00 +00:00
Andrei Zmievski
9f8bcf3f51
Unicode support for str_word_count() (using the same semantics as for
...
binary strings).
# These semantics seem quite broken, by the way, as it counts words
# ending or starting with dashes (-). Since this shouldn't really be
# used to count words in Unicode world anyway, supporting the "broken"
# behavior is okay if it helps people with migration.
2006-08-18 18:01:58 +00:00
Andrei Zmievski
253a82d0cc
Simplify php_u_trim().
2006-08-16 18:07:22 +00:00
Andrei Zmievski
2dcfe8aaf5
Fix some trim() issues.
2006-08-15 20:38:12 +00:00
Andrei Zmievski
bd927905ee
Unicode support for strcoll().
2006-08-14 22:00:46 +00:00
Andrei Zmievski
aa9de18ef5
Unicode support for str_split().
2006-08-14 21:04:50 +00:00
Andrei Zmievski
01e677b37b
Unicode support in chunk_split().
2006-08-14 20:43:23 +00:00
Edin Kadribasic
56a821ec02
Fixed windows build.
...
Looking at the macro definition it seems that the second argument
to U_STRING_DECL can only be a string literal, not an indetifier.
2006-08-14 11:59:07 +00:00
Ilia Alshanetsky
fa48ce6810
MFB: Various security fixes
2006-08-10 19:02:32 +00:00
Antony Dovgal
8a159b3efc
initialize variable
2006-08-10 09:31:24 +00:00
Antony Dovgal
704dc9be61
fix ZTS build
2006-08-09 20:31:06 +00:00
Andrei Zmievski
8d953e611d
Unicode support for str_shuffle().
2006-08-09 20:19:06 +00:00
Andrei Zmievski
7201041bc0
Upgrade str_rot13() to work with IS_UNICODE type.
2006-08-09 20:03:22 +00:00
Frank M. Kromann
4fef78869b
Fix ZTS builds
2006-08-09 18:15:06 +00:00
Andrei Zmievski
533196671f
addcslashes() and stripcslashes() should work only on binary strings.
2006-08-09 17:40:21 +00:00
Antony Dovgal
2168051985
initialize vars
2006-08-08 22:01:48 +00:00
Andrei Zmievski
1b18b5a68f
Convert nl2br() to suppor IS_UNICODE.
...
# Hmm, it's a bit ugly..
2006-08-08 21:03:11 +00:00
Antony Dovgal
9cc9f2da3e
use memrchr/zend_memrchr instead of strrchr
...
fix wrong test
2006-08-08 09:48:08 +00:00
Antony Dovgal
8320b9a8f0
fix typo and invalid read
2006-08-08 08:59:51 +00:00
Andrei Zmievski
50cb40f389
Simplify strrchr().
2006-08-04 23:20:04 +00:00
Andrei Zmievski
ad017699b1
Upgrade pathinfo() to Unicode support.
2006-08-04 21:06:11 +00:00
Andrei Zmievski
9ff2107cc1
Upgrade dirname() to support IS_UNICODE.
2006-08-04 18:09:46 +00:00
Andrei Zmievski
49f1d3a779
Upgraded basename() to work on IS_UNICODE strings as well.
2006-08-03 23:45:27 +00:00
Andrei Zmievski
768a9227ed
- Adjusted php_u_strtoupper/php_u_strtolower/php_u_strtotitle API to be
...
more sane.
- Upgrade strtoupper(), strtolower(), strtotitle() to use params API.
2006-08-03 23:09:29 +00:00
Andrei Zmievski
72adc1b397
Update similar_text() to use params API.
2006-08-03 21:46:16 +00:00
Andrei Zmievski
f6f8792be4
A few fixes noted during analysis.
2006-08-02 21:53:43 +00:00
Andrei Zmievski
09811323a9
bin2hex() should accept only binary strings.
2006-08-02 20:38:39 +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
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
Antony Dovgal
688000ca74
fix access to freed memory in pathinfo()
...
add test
2006-07-17 06:44:45 +00:00
Pierre Joye
02a92e7eb5
- MFB: PATHINFO_FILENAME constant registration (Sara)
2006-07-16 15:56:00 +00:00
Marcus Boerger
92a47b44b4
- Pathinfo allows to get filename (Toby S, Christian S)
2006-07-16 10:34:32 +00:00
Andrei Zmievski
f717e25ce7
FIXME note
2006-07-13 22:26:50 +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
Antony Dovgal
87d846c2cb
initialize variables
2006-07-13 17:55:50 +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
a6e26b742a
fix off-by-one in addslashes() in Unicode mode
2006-06-30 09:35:21 +00:00
Hannes Magnusson
bf0a79d381
Updated protos
...
Fixed vim folding
2006-06-25 19:19:31 +00:00
Hannes Magnusson
53d262c04d
Nuke unused var
2006-06-11 20:33:29 +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
Johannes Schlüter
40da89d6b9
- Fix str_replace with unicode strings as key
2006-05-28 21:09:58 +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
Antony Dovgal
7bde7e87eb
MF51: fix possible substr_compare() crash
...
add new tests
2006-04-25 12:49:04 +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
Antony Dovgal
0b0fff07b2
fix spelling in error messages:
...
greater/less thEn -> greater/less thAn
2006-04-03 09:14:50 +00:00
Andrei Zmievski
d57e79782e
Bug!
2006-03-29 05:56:06 +00:00
Andrei Zmievski
e85495f6f1
Fix UErrorCode check.
2006-03-27 23:05:38 +00:00
Dmitry Stogov
bdfa3b1d36
Fixed ZTS build
2006-03-27 06:02:42 +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
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
Marcus Boerger
792e4d9f4d
- Fix TSRM
2006-03-17 23:14: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
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
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
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
Ilia Alshanetsky
fef63cd5e5
MFB51: Added overflow checks to wordwrap() function.
2006-03-13 14:37:32 +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
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
Dmitry Stogov
0f1209ab3d
Portable unicode string API:
...
- use the same type (int) for zval.value.usr.len and zval.value.str.len
- use union "zstr" as char*/UChar* mixture instead of void*
- Z_UNISTR() and Z_UNILEN() no longer check for Z_TYPE()
- nuke int32_t from ZE (not finisned)
2006-02-21 20:12:43 +00:00
Pierre Joye
d10b1290b2
- #36185 str_rot13(NULL) crash
2006-01-28 00:13:13 +00:00
Andrei Zmievski
e7752216f4
Use zend_codepoint_to_uchar() macro.
2006-01-25 00:02:23 +00:00
Andrei Zmievski
0fe1845267
eurealloc() should not be used with UBYTES()
2006-01-24 23:09:43 +00:00
Dmitry Stogov
227295a4f1
Unicode stuff is changed according to decision maden on PDM.
...
Now IS_BINRAY data type is removed and IS_STRING starts behave as IS_BINARY in unicode mode. IS_STRING is incompatible with IS_UNICODE, so ALL functions should be improved to support unicode mode.
2006-01-17 12:18:53 +00:00
Antony Dovgal
16be5ff45b
fix typo
2006-01-05 20:49:28 +00:00
foobar
251c5173fd
bump year and license version
2006-01-01 13:10:10 +00:00
Antony Dovgal
41fad0ad77
fix spelling and #35665
2005-12-14 00:54:04 +00:00
Antony Dovgal
749c6e3016
fix #35617
...
no need to separate zvals twice
2005-12-09 22:26:39 +00:00
Dmitry Stogov
7810872573
Support for 64-bit platforms
2005-12-09 13:41:06 +00:00
foobar
0ac2b74b0b
- Nuke php3 legacy
2005-12-05 22:53:34 +00:00
Ilia Alshanetsky
7f66777bbf
MFB51: Fixed bug #35427 (str_word_count() handles '-' incorrectly).
2005-11-29 16:14:47 +00:00
Derick Rethans
574a210973
- Fixed protos.
2005-11-12 14:56:35 +00:00
Frank M. Kromann
82c00c179d
Make sure haystack_len is initialized before it's used
2005-10-28 19:29:29 +00:00
Rolland Santimano
37d12b82b3
- Unicode impl of strrchr()
2005-10-24 14:35:02 +00:00
Rolland Santimano
a948324778
- php_u_stristr: Remove leading back-slash ... sheesh
2005-10-22 13:36:55 +00:00
Rolland Santimano
68487a234e
- php_u_stristr: s/codepts/codepoints/ - make Jani happy
2005-10-22 13:32:51 +00:00
Rolland Santimano
03b7fe7666
- Unicode impl of strpbrk()
2005-10-22 13:25:00 +00:00
Rolland Santimano
c36ac8de3d
- php_u_stristr: Code comments
2005-10-22 05:52:53 +00:00
Rolland Santimano
5ca019aad3
- Unicode impl of stristr()
2005-10-20 19:25:54 +00:00
Rolland Santimano
8ed78ae796
- Unicode impl of str[c]spn()
2005-10-19 19:10:13 +00:00
Rolland Santimano
a9ce7d32e4
- Unicode impl of stripos()
2005-10-17 19:50:13 +00:00
Rolland Santimano
b277b1d1c0
- Unicode impl of strrpos()
2005-10-17 17:07:44 +00:00
Derick Rethans
a923f3d6f0
- Fixed folding markers.
2005-10-15 12:50:20 +00:00
Dmitry Stogov
7adf1a259c
Fixed unicode support for strip_tags()
2005-10-12 11:00:47 +00:00
Rolland Santimano
07ff8d5632
- strip_tags(): some fixes, still AWiP
2005-10-05 12:16:02 +00:00
Dmitry Stogov
c8aa7f6088
Fixed compilation error (gcc-4).
2005-10-04 06:33:10 +00:00
Rolland Santimano
11d1574211
- Unicode impl of strip_tags()
2005-10-03 17:00:00 +00:00
Rolland Santimano
eea40f95d8
- Unicode impl of similar_text()
2005-10-03 06:14:10 +00:00
Rolland Santimano
2dc1c72917
- substr_replace(): call correct funcn for string conversion
2005-09-30 13:19:15 +00:00
Rolland Santimano
c893c70275
- Unicode impl of strtok()
2005-09-29 11:05:30 +00:00
Rolland Santimano
6f06e93237
- Updated addslashes(): add codepoints directly rather than with zend_codepoint_to_uchar()
2005-09-29 09:33:38 +00:00
Ilia Alshanetsky
146517684d
Fixed possible GLOBALS variable override when register_globals are ON.
...
Fixed possible register_globals toggle via parse_str().
2005-09-28 22:31:29 +00:00
Rolland Santimano
c775c4cf83
- Updated substr_replace() to use:
...
- zend_get_unified_string_type()/convert_to_explicit_type() for type conversion
- u_countChar32() for counting codepoints
2005-09-28 14:58:31 +00:00
Rolland Santimano
227791e5af
- Unicode impl of {add,strip}slashes()
2005-09-28 09:22:08 +00:00
Ilia Alshanetsky
200d5924cf
Allow substr_compare() to take a negative offset to facilitate start of the
...
comparison from the end of string.
2005-09-26 23:08:10 +00:00
Rolland Santimano
05e365bab3
- str_pad(): Use u_countChar32() for codepoint counting, eumalloc/eurealloc() for Unicode mallocs.
2005-09-09 19:07:18 +00:00
Derick Rethans
9d04a8e369
- Make ord() work on binary strings too.
2005-09-08 14:07:40 +00:00
Dmitry Stogov
b0b0f8147d
Fixed craches in substr_replace()
2005-09-08 12:40:01 +00:00
Rolland Santimano
a441e78984
- Unicode impl of substr_replace()
2005-09-08 05:05:36 +00:00
Dmitry Stogov
18e259480e
Fixed unicode support for substr_count()
2005-09-07 07:00:03 +00:00
Rolland Santimano
8404034552
Pointer arithmetic with char * rather than void *
2005-09-05 16:37:45 +00:00
Rolland Santimano
8d5d2125d0
- Unicode impl of str_pad()
2005-09-05 10:55:35 +00:00
Dmitry Stogov
a3b7eb2284
Fixed gcc 4 compatibility
2005-08-29 06:51:14 +00:00
Rolland Santimano
c7ad26fbf4
- Unicode impl of substr_count()
2005-08-27 19:14:05 +00:00
Rolland Santimano
c81d6d6cfd
- Updated strrev() to handle base+combining sequences
2005-08-26 10:21:07 +00:00
Dmitry Stogov
8f6f97a77d
Unicode support
2005-08-23 12:53:31 +00:00
Dmitry Stogov
f4b8f4e958
Unicode support cleanup
2005-08-23 09:33:46 +00:00
Dmitry Stogov
e404ee456b
Fixed unicode support for ltrim()
2005-08-22 14:14:10 +00:00
Andrei Zmievski
23086f5f1c
Unicode support for ord() and chr().
2005-08-19 22:00:21 +00:00
Andrei Zmievski
676a3cf46e
Use RETVAL_ASCII_STRINGL() here.
2005-08-19 17:53:03 +00:00
Rolland Santimano
973e98f51e
- Unicode capable impl() of strrev()
2005-08-19 10:59:19 +00:00
Andrei Zmievski
0b036a8fdc
Use u_totitle() instead of u_toupper() in ucwords().
2005-08-18 22:37:22 +00:00
Rolland Santimano
fd4e6da642
- Removed 'proto' from description of internal funcns: ucfirst()/ucwords()
2005-08-18 05:53:46 +00:00
Rolland Santimano
412dac1576
Unicode-capable impl of ucwords()
2005-08-17 20:29:00 +00:00
Andrei Zmievski
202bb697fd
Fix bin2hex() to work on binary data and return strings of correct type.
2005-08-17 17:39:04 +00:00
Rolland Santimano
ed370daef5
Unicode impl of ucfirst()
2005-08-17 17:33:19 +00:00
Dmitry Stogov
3509630024
trim() should accept objects with __toString() method
2005-08-17 11:36:32 +00:00
Rolland Santimano
c98838037e
php_u_trim_range(): Alloc UChar32 units rather than UChar
2005-08-17 10:26:02 +00:00
Dmitry Stogov
8c63822f0d
Fixed implode() bugs
2005-08-17 07:59:31 +00:00
Rolland Santimano
616089e772
Updated implode() impl as per Andrei's comments
...
[http://news.php.net/php.cvs/33457 ]
2005-08-17 07:14:12 +00:00
Marcus Boerger
5085c21d7e
- TSRM Fix
2005-08-16 20:22:33 +00:00
Antony Dovgal
5adc3ce7c6
nuke unused vars
2005-08-16 16:57:59 +00:00
Rolland Santimano
3b4b22a8fc
Unicode capable impl of implode()
2005-08-16 12:04:13 +00:00
Rolland Santimano
c1b8eda121
php_trim() takes extra arg to determine string type to be returned
2005-08-16 06:02:56 +00:00
Johannes Schlüter
c5d862c254
- Fix leak with explode of empty unicode string
2005-08-15 19:12:59 +00:00
Dmitry Stogov
7061405249
Fixed trim()'s memory leak in unicode mode
2005-08-15 08:11:35 +00:00
Antony Dovgal
079a748d3c
fix php_u_trim() and compile warnings
2005-08-12 16:46:38 +00:00
Dmitry Stogov
369d59c20b
Fixed str_repeat() bug
2005-08-12 13:41:15 +00:00
Sebastian Bergmann
6b98cc4ef5
Patch by Michael Wallner, signed off by Edin Kadribasic.
2005-08-12 10:10:41 +00:00
Sebastian Bergmann
6ad189f82a
ZTS fixes.
2005-08-12 05:58:02 +00:00