1
0
mirror of https://github.com/php/php-src.git synced 2026-04-05 07:02:33 +02:00
Commit Graph

1818 Commits

Author SHA1 Message Date
Ilia Alshanetsky
9696faa790 Fixed bug 48484 (array_product() always returns 0 for an empty array). 2010-12-12 19:27:04 +00:00
Gustavo André dos Santos Lopes
4fe751e8e4 - Tests and small parsing correction for php://fd wrapper 2010-12-11 02:08:02 +00:00
Felipe Pena
74484db1aa - Fixed test (Eyal Teutsch) 2010-12-04 15:57:08 +00:00
Jani Taskinen
17d1b1310e - Fix test 2010-12-03 16:02:47 +00:00
Adam Harvey
d2263d482d Implement FR #53457 (number_format must support more than one character for
thousands separator).
2010-12-03 10:10:08 +00:00
Gustavo André dos Santos Lopes
22d461df62 - Implemented bug/request #53427 - stream_select doesn't preserve the
keys. This cannot be backported to PHP 5.3 due to a BC break. See
  UPGRADING for more information.
2010-11-30 16:22:48 +00:00
Ilia Alshanetsky
4bc5cac317 Fixed bug #52327 (base64_decode() improper handling of leading padding in strict mode) 2010-11-26 20:59:13 +00:00
Adam Harvey
9a1568c113 Implemented FR #53407 (make scandir()'s directory sorting optional). 2010-11-26 09:52:28 +00:00
Gustavo André dos Santos Lopes
1d5eff07f3 - Fixed bug #53403 (use of unitialized values). Fixes the fix for bug #46587.
- Added test for bug #46587.
2010-11-25 16:44:20 +00:00
Felipe Pena
897f0b4c27 - Fixed extract() to do not overwrite $GLOBALS and $this when using EXTR_OVERWRITE.
patch by: jorto at redhat dot com
2010-11-19 22:06:44 +00:00
Ilia Alshanetsky
5bdb47791a Fixed bug #47168 (printf of floating point variable prints maximum of 40 decimal places). 2010-11-19 16:36:10 +00:00
Felipe Pena
2e42d64007 - Fixed bug #53319 (strip_tags() may strip '<br />' incorrectly) 2010-11-16 22:16:44 +00:00
Gustavo André dos Santos Lopes
e10454ded8 - Fixed bug #52820 (writes to fopencookie FILE* not commited when seeking the
stream).
2010-11-15 18:22:52 +00:00
Gustavo André dos Santos Lopes
c3727cc862 - Added test relative to the fix in rev #305346. 2010-11-15 14:51:26 +00:00
Gustavo André dos Santos Lopes
24636a7e1c - Altered htmlentities19.phpt (now htmlentities24.phpt) to reflect new default encoding
being UTF-8.
- Moved ext/standard/tests/file/htmlentities19.phpt and htmlspecialchars.phpt to the
  proper directory (tests/strings instead of tests/file). htmlentities19.phpt had to
  be renamed in order not to clash with an existing file.
2010-11-15 01:57:16 +00:00
Patrick Allaert
e2e76d40e3 - Fixed tests not passing under windows because of the directory separator
difference (thanks Eyal Teutsch for reporting)
2010-11-08 09:29:15 +00:00
Felipe Pena
83ebbc36a1 - Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char).
patch by: Justin Martin (frozenfire@php)
2010-11-07 12:59:22 +00:00
Gustavo André dos Santos Lopes
b7d69a4952 - Added CLEAN section to recently committed test. 2010-11-05 01:56:28 +00:00
Gustavo André dos Santos Lopes
0a35133524 - Fixed bug #53241 (stream casting that relies on fdopen/fopencookie fails
with streams opened with, inter alia, the 'xb' mode).
2010-11-05 01:29:08 +00:00
Gustavo André dos Santos Lopes
5c09767d4b - Fixed bug #53198 (changing INI setting "from" with ini_set did not have any
effect)
#Made "from" a proper INI setting and bound it to a global variable.
#Previously, it was simply read from the hash table with the parsed ini file
#by using cfg_get_string (I wonder why this mechanism still exists...)
2010-10-29 15:29:15 +00:00
Gustavo André dos Santos Lopes
91727cb844 - Completed rewrite of html.c. Except for determine_charset, almost nothing
remains.
- Fixed bug on determine_charset that was preventing correct detection in
  combination with internal mbstring encoding "none", "pass" or "auto".
- Added profiles for entity encode/decode for HTMl 4.01, XHTML 1.0, XML 1.0
  and HTML 5. Added the constants ENT_HTML401, ENT_XML1, ENT_XHTML and
  ENT_HTML5.
- htmlentities()/htmlspecialchars(), when told not to double encode, verify
  the correctness of the existenting entities more thoroughly.
  It is checked whether the numerical entity represents a valid unicode code
  point (number is between 0 and 0x10FFFF). If using the flag ENT_DISALLOWED,
  it is also checked whether that numerical entity is valid in selected
  document. In HTML 4.01, all the numerical entities that represent a Unicode
  code point (< U+10FFFFFF) are valid, but that's not the case with other
  document types. If the entity is not valid, & is encoded to &amp;.
  For named entities, the check is also more thorough. While before the only
  check would be to determine if the entity was constituted by alphanumeric
  characters, now it is checked whether that entity is necessarily defined for
  the target document type. Otherwise, & is encoded to &amp;.
- For html_entity_decode(), only valid numerical and named entities (as defined
  above for htmlentities()/htmlspecialchars() + !double_encode) are decoded.
  But there is in this case one additional check. Entities that represent
  non-SGML or otherwise invalid characters are not decoded. Note that, in
  HTML5, U+000D is a valid literal character, but the entity &#x0D is not
  valid and is therefore not decoded.
- The hash tables lazily created for decoding in html_entity_decode() that were
  added recently were substituted by static hash tables. Instead of 1 hash
  table per encoding, there's only one hash table per document type defined in
  terms of unicode code points. This means that for charsets other than UTF-8
  and ISO-8859-1, a conversion to unicode code points is necessary before
  decoding.
- On the encoding side, the ad hoc ranges of entities of the translation
  tables, which mapped (in general) non-unicode code points to HTML entities
  were replaced by three-stage tables for HTML 4 and HTML 5. This mapping
  tables are defined only in terms of unicode code points, so a conversion
  is necessary for charsets other than UTF-8 and ISO-8859-1. Even so, the
  multi-stage table is much faster than the previous method, by a factor
  of 5; the conversion to unicode is a small penalty because it's just a
  simple table lookup.
  XML 1.0/htmlspecialchars() uses a simple table instead of a three-stage
  table.
- Added the flag ENT_SUBSTITUTE, which makes htmlentities()/htmlspecialchars()
  replace the invalid multibyte sequences with U+FFFD (UTF-8) or &#FFFD;
  (other encodings).
- Added the flag ENT_DISALLOWED. Implements FR #52860. Characters that cannot
  appear literally are replaced by U+FFFD (UTF-8) or &#FFFD; (otherwise).
  An alternative implementation would be to encode those characters into
  numerical entities, but that would only work in HTML 4.01 due to limitations
  on the values of numerical entities in other document types. See also the
  effects on htmlentities()/htmlspecialchars() with !double_encode above.
2010-10-24 15:01:02 +00:00
Gustavo André dos Santos Lopes
738be1a003 - Three tests were "broken" by rev #304404, not two. Commit the change
to remaining one.
2010-10-14 19:33:12 +00:00
Gustavo André dos Santos Lopes
bfcb754eae - Fixed get_next_char(), used by htmlentities/htmlspecialchars, accepting
certain ill-formed UTF-8 sequences.
2010-10-14 19:14:06 +00:00
Gustavo André dos Santos Lopes
3943351e6a - [DOC] Reverted rev #304382 and rev #304380, as I figured out a way to
fix the erratic behavior without breaking backwards compatibility. Namely,
  $offset retains SEEK_SET behavior but actually SEEK_CUR is passed to
  _php_stream_seek, if possible, by moving the offset stream->position bytes.
- Addresses bug #53006.
2010-10-14 03:15:15 +00:00
Gustavo André dos Santos Lopes
fbd3eb6439 - Ooops. Fixed tests for rev #304380 (stream_get_contents() related) and a small error. 2010-10-14 02:39:21 +00:00
Gustavo André dos Santos Lopes
4de6c3a948 - Added a 3rd parameter to get_html_translation_table. It now takes a charset
hint, like htmlentities et al.
- Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8).
- Fixed bug #25927 (get_html_translation_table calls the ' &#39; instead of
  &#039;).
- Fixed tests for get_html_translation_table and unified the Windows and
  non-Windows versions of the tests.
2010-10-12 02:51:11 +00:00
Gustavo André dos Santos Lopes
7aa43a8d83 - Revamp of the decoding portion of html.c.
- Dramatic improvements on the performance of html_entity_decode and htmlspecialchars_decode, as the
  string is now traversed only once. Speedups of 20 to 25 times with Windows release builds and a
  ~250 characters string (for 2nd and subsequent calls).
- Consistent behavior on html_entity_decode. For instance, the entity in "&&lt;" would be decoded,
  but not "&&#233;". Not anymore. The code path for "basic" and non-basic entities is now mostly
  shared.
- Code of html_entity_decode and htmlspecialchars_decode is now shared.
- [DOC] More consistent behavior of htmlspecialchars_decode. Instead of translating only &lt;, &gt;,
  &amp;, &quot;, &#039; and &#39;, now e.g. &#34;, &apos;, &#0039;, &#x27;, etc. are also decoded.
- [DOC] Previous translation of unicode code points in numerical entities was seriously broken. When
  the code points for some character were not the same in unicode and the target encoding, the
  behavior could be an erroneous translation (e.g. 0x80-0xA0 in win-1252) or no translation at all.
  Added unicode translation tables for all single-byte encodings. Entities are not translated for
  multi-byte entities, except for ASCII characters whose code points are shared. We could add
  the huge translation tables (several thousand elements) for those encodings in the future.
- Fixed numerical entities that after # had text accepted by strcol being accepted.
- Much more commented and well-structured code...
- Tests for get_html_translation_table()) are broken. I stared fixing the tests, but then I realized
  it was completely helpless because get_html_translation_table() is broken by not handling
  multi-byte characters correctly.
2010-10-10 19:04:59 +00:00
Gustavo André dos Santos Lopes
dd5d1b2b66 - Fixed a typo in rev #304208 (24 instead of 34/'"').
- Improved the test bug53021.phpt to reflect other fixes in rev #304208.
- Updated NEWS to reflect other fixes in rev #304208.
2010-10-08 17:27:19 +00:00
Gustavo André dos Santos Lopes
df42830468 - Fixed bug #53021 (In html_entity_decode, failure to convert numeric entities with ENT_NOQUOTES and ISO-8859-1). 2010-10-08 16:19:58 +00:00
Patrick Allaert
0ef60a4544 Fixed typo in tests (thx Eyal) 2010-10-05 10:42:13 +00:00
Dmitry Stogov
d3b6fbe39b Fixed bug #52940 (call_user_func_array still allows call-time pass-by-reference). (cataphract@php.net) 2010-10-01 11:53:04 +00:00
Adam Harvey
f33837ff97 Implemented request #34857 (Change array_combine behaviour when called with
empty arrays). Patch by Joel Perras <joel.perras@gmail.com>.
2010-08-27 03:54:10 +00:00
Kalle Sommer Nielsen
a448b6a72b MFB53: Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED (Fixes #52570)
# Some of the updated tests were to make them sync with 5.3 although they don't run on trunk anymore
2010-08-11 21:41:30 +00:00
Felipe Pena
ef1270e5d0 - Fix test 2010-08-08 16:48:32 +00:00
Ilia Alshanetsky
d9af17b839 Additional fix for bug #52550 & fix test & warning from previous fixes 2010-08-08 15:45:02 +00:00
Felipe Pena
3d2a6927c7 - Fixed bug #52534 (var_export array with negative key) 2010-08-04 23:11:44 +00:00
Dmitry Stogov
fa27ef4620 cleanup 2010-08-03 08:19:51 +00:00
Felipe Pena
a20d96e850 - Removed safe-mode tests 2010-08-01 16:24:42 +00:00
Scott MacVicar
c7b0abe6aa Fix a bug when var_export() causes a fatal error that could inadvertently display data due to flushing of the output buffer.
Examples include, memory limit, execution time and recursion.
2010-07-09 21:11:37 +00:00
Felipe Pena
ce72f33674 - Fixed tests 2010-07-06 00:25:52 +00:00
Felipe Pena
b355aa00b0 - Fixed bug #52138 (Constants are parsed into the ini file for section names) 2010-06-24 22:32:42 +00:00
Pierre Joye
cba1ed2475 - #50563, removing E_WARNING from parse_url() 2010-06-16 18:56:24 +00:00
Dmitry Stogov
d42dbb3bed Fixed bug #51552 (debug_backtrace() causes segmentation fault and/or memory issues) 2010-06-11 08:53:31 +00:00
Christopher Jones
064eda1838 New test for file_exists (bug #39863). It currently xfail's 2010-06-05 19:44:48 +00:00
Michael Wallner
11d24c1593 * implement new output API, fixing some bugs and implementing some feature
requests--let's see what I can dig out of the bugtracker for NEWS--
  and while crossing the road:
   * implemented new zlib API
   * fixed up ext/tidy (what was "s&" in zend_parse_parameters() supposed to do?)

Thanks to Jani and Felipe for pioneering.
2010-05-31 10:29:43 +00:00
Michael Wallner
89e93723fb Added support for object references in recursive serialize() calls. FR #36424 2010-05-26 07:24:37 +00:00
Felipe Pena
de531056f7 - Fixed bug #51899 (Parse error in parse_ini_file() function when empy value followed by no newline) 2010-05-26 02:18:17 +00:00
Martin Jansen
a389c77ce2 Changed test case to use our new dummy MX records. 2010-05-25 05:01:03 +00:00
Dmitry Stogov
c5237d82bf Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties 2010-05-24 14:11:39 +00:00
Christopher Jones
f291a1253d New current()/next() test 2010-05-20 17:55:58 +00:00