Antony Dovgal
982de65f6e
fix substr()
...
it's perfectly legal to do substr("str", 0, 1000000);
2007-03-09 10:04:59 +00:00
Ilia Alshanetsky
02fae929af
Fixed bug #40754 (added substr() & substr_replace() overflow checks).
2007-03-09 01:58:34 +00:00
Stanislav Malyshev
79195bfe2e
clarify checks and error messages
2007-03-08 00:47:04 +00:00
Ilia Alshanetsky
8696c9bc89
Improved length parameter validation
2007-03-08 00:18:10 +00:00
Ilia Alshanetsky
42ff70ede8
Improved offset validation
2007-03-08 00:06:41 +00:00
Stanislav Malyshev
2625be4ed0
fix MOPB#14
...
# The error message seems wrong, so maybe better fix is needed
2007-03-07 18:15:46 +00:00
Ilia Alshanetsky
e769e1b49e
Fixed bug #40704 (strip_tags() does not handle single quotes correctly)
2007-03-03 15:46:29 +00:00
Ilia Alshanetsky
efad70c2cc
snprintf() -> slprintf()
2007-02-27 03:28:17 +00:00
Ilia Alshanetsky
1d08a8d157
Fixed bug #40637 (Regression in strip_tags() in relation so quote handling)
2007-02-27 00:15:21 +00:00
Marcus Boerger
50ea26760d
- Avoid sprintf, even when checked copy'n'paste or changes lead to errors
2007-02-24 02:17:47 +00:00
Ilia Alshanetsky
fc49f98e6a
Make sure p is not pointing to the start of the buffer
2007-02-13 23:55:20 +00:00
Ilia Alshanetsky
103b8c33c0
Fixed bug #40432 (strip_tags() fails with greater than in attribute).
2007-02-13 02:16:22 +00:00
Antony Dovgal
7b12fd5492
MFH
2007-02-10 00:50:38 +00:00
Antony Dovgal
82f70c9493
fix leaks on error
2007-02-01 13:45:25 +00:00
Ilia Alshanetsky
60e20922eb
Use safe_emalloc() rather then emalloc()
2007-01-08 14:24:59 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Antony Dovgal
0abe62e027
MFH
2006-12-20 23:36:56 +00:00
Antony Dovgal
a0e2ccf490
MFH
2006-12-20 23:30:30 +00:00
Ilia Alshanetsky
090e14dfda
Less hackish support for spaces at the start of tags within strip_tags()
2006-12-18 15:02:16 +00:00
Ilia Alshanetsky
7d7248390c
Filter fixes:
...
Fixed possible double encoding problem with sanitizing filters
Make use of space-strict strip_tags() function
2006-12-18 04:22:05 +00:00
Ilia Alshanetsky
563221783a
Removed deadcode found by Ron Korving
2006-12-13 15:39:12 +00:00
Stanislav Malyshev
6b651f8e60
Improve tolower()-related functions on Windows and VC2005 by caching locale and using
...
tolower_l function.
# Gives 10-18% speedup on bench.php
# Does not change behaviour for non-windows
2006-12-04 18:37:15 +00:00
Antony Dovgal
93fc85b2af
MFH: fix #39621 (str_replace() is not binary safe on strings with equal length)
2006-11-24 21:59:09 +00:00
Ilia Alshanetsky
07cdfefdee
Fixed bug #39350 (crash with implode("\n", array(false))).
2006-11-06 17:21:05 +00:00
Ilia Alshanetsky
a39201675f
Catch empty strings right away.
2006-10-11 14:19:55 +00:00
Antony Dovgal
9b7ba01618
MFH: avoid reading str[-1], add warning when invalid format specified
...
add test
2006-10-11 13:15:30 +00:00
Andrei Zmievski
e779c3aa36
Increment replace count value for case-sensitive single char searches.
2006-10-05 18:23:19 +00:00
Antony Dovgal
d8648eae57
MFH: fix #39032 (strcspn() stops on null character)
2006-10-04 11:14:32 +00:00
Ilia Alshanetsky
8581c7328f
optimize zend_hash_init() with known hash table sizes.
2006-10-03 17:41:47 +00:00
Andrei Zmievski
5c96544b7d
Use php_error_docref() instead.
2006-10-02 20:07:14 +00:00
Andrei Zmievski
007c6ff8d9
More offset fixes. Added E_NOTICE where appropriate.
2006-10-02 19:58:15 +00:00
Andrei Zmievski
c36d94aac2
Fix invalid memory access in strrpos().
2006-10-02 19:42:42 +00:00
Antony Dovgal
0c482b5c64
more z/Z fixes
2006-08-31 14:21:21 +00:00
Ilia Alshanetsky
1b9e18d471
Corrected problems introduced by previous commit.
...
# Issue found by Stefan
2006-08-29 19:50:04 +00:00
Ilia Alshanetsky
7c618c40bc
Finalize implode() patch
2006-08-29 14:32:16 +00:00
Antony Dovgal
ffc3d4a076
fix win32 build
...
EG(precision) can be changed in runtime, even in php_implode() (hint: __toString()), so please think twice before optimizing
2006-08-29 12:20:18 +00:00
Ilia Alshanetsky
914d362176
Adjust code to avoid TSRMLS_FETCH
2006-08-28 23:33:37 +00:00
Antony Dovgal
615f2d7295
fix ZTS build
2006-08-28 09:56:28 +00:00
Ilia Alshanetsky
78d7b0bf0e
Optimize the operation of implode() on non-string parameters
2006-08-27 19:06:09 +00:00
Antony Dovgal
d5c9b41db1
fix implode() function (see http://news.php.net/php.qa/26876 )
...
add test
2006-08-22 19:55:56 +00:00
Ilia Alshanetsky
a4d2f04307
Fixed overflow on 64bit systems in str_repeat() and wordwrap().
...
Disabled CURLOPT_FOLLOWLOCATION in curl when open_basedir or safe_mode are
enabled.
# Patches by Stefan E.
2006-08-10 14:40:13 +00:00
Antony Dovgal
1a4b715ef2
use memrchr/zend_memrchr instead of strrchr
2006-08-08 10:22:25 +00:00
Antony Dovgal
a28a95c11a
MFH: patch for #37846 (wordwrap() wraps incorrectly)
...
by Dmitry Kononov <ddk at krasn dot ru>
2006-07-28 12:23:18 +00:00
Michael Wallner
c0fcaa7acb
- fix bug #37945 pathinfo() cannot handle argument with special characters
...
like german "Umlaute"
2006-07-17 20:36:47 +00:00
Antony Dovgal
f3f44275f4
MFH
2006-07-17 06:45:08 +00:00
Marcus Boerger
f03f2c5eae
- MFH Pathinfo allows to get filename (Toby S, Christian S)
2006-07-16 10:37:24 +00:00
Antony Dovgal
3cce465528
fix invalid read - no need to compare strings if haystack is "" or shorter than needle
...
add test
2006-07-12 12:33:48 +00:00
Hannes Magnusson
ec420c3df8
Updated protos & vim folding
2006-06-26 18:48:56 +00:00
Ilia Alshanetsky
d74f9ff550
Improved performance of the implode() function on associated arrays by
...
200-300%.
2006-06-11 21:55:49 +00:00
Ilia Alshanetsky
37d88ca5a0
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:29:06 +00:00
Ilia Alshanetsky
91bd50d1b0
Fixed bug #37394 (substr_compare() returns an error when offset equals
...
string length).
2006-05-10 13:07:15 +00:00
Antony Dovgal
896a5216d7
fix possible substr_compare() crash
...
add new tests
2006-04-25 12:48:42 +00:00
Antony Dovgal
bace0def1e
fix spelling in error messages:
...
greater/less thEn -> greater/less thAn
2006-04-03 09:14:33 +00:00
Antony Dovgal
ef3d879315
MFH: add brackets and clarity
2006-03-14 15:15:22 +00:00
Ilia Alshanetsky
0a076b11df
Fixed offset/length parameter validation in substr_compare() function.
2006-03-14 14:55:13 +00:00
Ilia Alshanetsky
80ea07d30c
Added overflow checks to wordwrap() function.
2006-03-13 14:37:10 +00:00
Marcus Boerger
5a69b29082
- Warning fixes by Steph
2006-02-26 10:57:00 +00:00
foobar
f80f58168c
nuke ws pollution
2006-01-29 17:54:45 +00:00
Pierre Joye
2bfe34e06d
- MFH: #36185 str_rot13(NULL) crash
2006-01-28 00:14:01 +00:00
Antony Dovgal
6fcc365c75
MFH: fix typo
2006-01-05 20:49:37 +00:00
foobar
5bd93221a8
bump year and license version
2006-01-01 12:51:34 +00:00
Antony Dovgal
1b7e3fe2a5
MFH: fix spelling and #35665
2005-12-14 00:54:29 +00:00
foobar
d0a54af4c5
MFH: Nuke php3 legacy
2005-12-05 22:54:01 +00:00
Ilia Alshanetsky
0242b892d2
Fixed bug #35427 (str_word_count() handles '-' incorrectly).
2005-11-29 16:14:19 +00:00
Ilia Alshanetsky
1a04335ec2
MFH: Fixed possible GLOBALS variable override when register_globals are ON.
...
MFH: Fixed possible register_globals toggle via parse_str().
MFH: Fixed negative offset handling in substr_compare() function.
2005-09-28 22:39:52 +00:00
foobar
23e671a51e
- Bumber up year
2005-08-03 14:08:58 +00:00
Ilia Alshanetsky
29bf2d3a09
Fixed bug in str_word_count() when charlist if specified and "word" starts
...
with a character found inside the charlist.
2005-07-23 19:44:13 +00:00
Anantha Kesari H Y
384a96faf6
ext/standard/file.h NetWare LibC has fnmatch and realpath implemented.
...
ext/standard/syslog.c Except LOG_SYSLOG other syslog macros are supported by NetWare LibC.
ext/standard/string.c NetWare fix for dirname
-- Kamesh
2005-07-15 12:35:12 +00:00
Antony Dovgal
3baf1f7632
fix #33605 (substr_compare() crashes with negative offset & length)
2005-07-07 15:19:40 +00:00
Ilia Alshanetsky
b9575ead72
make substr_count() 30% when counting instances of 1 byte long strings.
2005-06-19 16:31:51 +00:00
Ilia Alshanetsky
67ea97dfdf
Added offset & length parameters to substr_count() function.
2005-06-18 18:23:12 +00:00
Derick Rethans
ad21bb1baa
- That should have been removed, not commented out.
2005-06-02 08:51:20 +00:00
Derick Rethans
90f4590d87
- Fixed memory corruption in stristr().
2005-06-02 08:29:37 +00:00
foobar
156a908997
- Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier misbehave)
2005-05-31 12:54:56 +00:00
Antony Dovgal
4ce95ef1ea
fix bug #33076 (str_ireplace() incorrectly counts result string length and may cause segfault)
...
add test
2005-05-20 14:23:42 +00:00
Ilia Alshanetsky
ca10457a58
Fixed bug #32530 (chunk_split() does not append endstr if chunklen is
...
longer then the original string).
2005-04-03 18:08:40 +00:00
Ilia Alshanetsky
f56e5c045c
A more performance friendly version of Andrey's patch.
2005-03-12 17:51:19 +00:00
Andrey Hristov
f15c24d44c
added an optional third parameter to str_word_count(), which is used as
...
a list of characters which are considerd "is_alpha()". Thus V14GR4 can
be extracted as one word if the user supplies "14" as charlist.
FR #31560
# Nuno, are you wishing to document this one too? :)
2005-03-12 14:41:20 +00:00
Andrey Hristov
1236cfa38a
- type is either 1 or 2 if second parameter is set. if not set then type
...
is 0.
- use the lvalue for the second rvalue
2005-03-12 13:08:19 +00:00
Marcus Boerger
df56c39bda
- Cosmetics
2005-03-10 23:52:43 +00:00
Marcus Boerger
4172ec995c
- Do not touch return_valu's refcount or is_ref
2005-03-10 23:42:15 +00:00
Anantha Kesari H Y
033a45903c
NetWare allows directory seperator as \ and /
2005-03-01 14:59:37 +00:00
Ilia Alshanetsky
1e6454a67b
Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen).
2005-01-18 15:47:57 +00:00
Antony Dovgal
39b25e4f3d
fix yet another typo
2004-11-21 13:35:32 +00:00
Antony Dovgal
d9dd604ae7
fix typo (bug #30857 )
2004-11-21 13:33:20 +00:00
Derick Rethans
59651c4e58
- Fixed bug #30630 : Added a BSD based strtod function that is
...
locale-independent. (PHP part)
2004-11-03 23:36:51 +00:00
Ilia Alshanetsky
0818faee7f
Slight optimization in str_split() when split length is the same or greater
...
then the string length.
2004-10-20 22:44:43 +00:00
Ilia Alshanetsky
2476198086
Fixed bug #30356 (str_ireplace() does not work on all strings).
2004-10-07 23:10:35 +00:00
Andi Gutmans
56f8195fe5
- Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
...
used to return "" and not bool(false). It's not worth keeping it because
STR_FREE() and zval_dtor() always have to check for it and it slows down
the general case. In addition, it seems that empty_string has been abused
quite a lot, and was used not only for setting zval's but generally in
PHP code instead of "", which wasn't the intention. Last but not least,
nuking empty_string should improve stability as I doubt every place
correctly checked if they are not mistakenly erealloc()'ing it or
calling efree() on it.
NOTE: Some code is probably broken. Each extension maintainer should
check and see that my changes are OK. Also, I haven't had time to touch
PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Andrey Hristov
96f5c697dd
Add support for negative values of limit of explode(). If limit is negative
...
then all components are returned except the last abs(limit) ones.
2004-07-18 11:34:28 +00:00
Andrey Hristov
0eef82a733
fixing bug #28974 : overflow in array_slice()
...
The same kind of overflow appeared in array_splice(), substr() and
substr_replace()
2004-07-11 21:15:04 +00:00
Ilia Alshanetsky
5201e62d0d
Fixed bug #29034 (wordwrap() returns a boolean when passed empty string).
2004-07-06 22:16:42 +00:00
Stefan Esser
a27d5d842a
IE we love you all...
2004-06-26 07:43:02 +00:00
Stefan Esser
585628ba67
Fixed: made 3rd parameter to strrpos 64bit safe.
2004-06-15 22:38:18 +00:00
Ilia Alshanetsky
d24465ba8a
Fixed bug #28386 (wordwrap() wraps lines 1 character too soon).
2004-05-13 17:44:23 +00:00
Jay Smith
8f306fd749
Fixed a segfault. (It's possible for large offsets to make strrpos()
...
read past the end of the haystack string...)
2004-05-06 16:11:50 +00:00
Sara Golemon
c52cc1c333
BugFix 27675 and add regression test.
2004-03-26 19:23:42 +00:00
Dmitry Stogov
6e63ea45c7
BUG #27457 was fixed (using temporary hash table with string keys only)
2004-03-18 09:48:37 +00:00
Ard Biesheuvel
81f05c18f5
Wordsize fixes
2004-02-25 20:16:27 +00:00
Sara Golemon
ba8ad292d9
Make today's changes work w/ str_ireplace() as well.
2004-02-23 20:34:59 +00:00