php-src/ext/standard
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 "&<" would be decoded,
  but not "&é". 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 <, >,
  &, ", ' and ', now e.g. ", ', ', ', 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
..
tests - Revamp of the decoding portion of html.c. 2010-10-10 19:04:59 +00:00
array.c Fixed compiler warnings in the standard library 2010-09-23 03:45:36 +00:00
assert.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
base64.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
base64.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
basic_functions.c - Revamp of the decoding portion of html.c. 2010-10-10 19:04:59 +00:00
basic_functions.h - Revamp of the decoding portion of html.c. 2010-10-10 19:04:59 +00:00
browscap.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
config.m4 - #51424, solaris part 2010-06-17 10:22:03 +00:00
config.w32 - #50334, crypt ignores sha512 and add support for sha256/512 to php's crypt [DOC] 2009-12-09 00:20:14 +00:00
crc32.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
crc32.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
credits_ext.h MFH Remove bad CREDITS file 2009-05-09 22:34:45 +00:00
credits_sapi.h Update credits 2010-05-27 22:51:28 +00:00
credits.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
credits.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
crypt_blowfish.c Fixed compiler warnings in the standard library 2010-09-23 03:45:36 +00:00
crypt_freesec.c - With "extended" hashes, detect and reject invalid "setting" strings. 2010-02-22 00:05:02 +00:00
crypt_freesec.h - and the last part of the fix, inline on win 2008-08-25 14:37:07 +00:00
crypt_sha256.c Fixed compiler warnings in the standard library 2010-09-23 03:45:36 +00:00
crypt_sha512.c Fixed compiler warnings in the standard library 2010-09-23 03:45:36 +00:00
crypt.c - Fixed bug #51435 (Missing ifdefs / logic bug in crypt code cause compile errors) 2010-04-22 20:54:35 +00:00
css.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
css.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
cyr_convert.c Added a number of small performance tweaks and optimizations 2010-04-20 11:16:39 +00:00
cyr_convert.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
datetime.c Removed y2k_compliance ini option, making it "always" enabled internally 2010-04-12 07:34:30 +00:00
datetime.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
dir.c - Fixed bug #52183 (Reflectionfunction reports invalid number of arguments for function aliases) 2010-06-26 16:03:39 +00:00
dl.c Removed safe_mode 2010-04-26 23:53:30 +00:00
dl.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
dns_win32.c - Added numeric record type and raw data for unknown DNS 2010-10-08 23:02:37 +00:00
dns.c - Added numeric record type and raw data for unknown DNS 2010-10-08 23:02:37 +00:00
exec.c Remove unused variables 2010-06-01 17:13:50 +00:00
exec.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
file.c - use TSRMLS_*C instead of TSRMLS_FETCH in zend_list_insert 2010-09-16 09:13:19 +00:00
file.h - use TSRMLS_*C instead of TSRMLS_FETCH in zend_list_insert 2010-09-16 09:13:19 +00:00
filestat.c Removed safe_mode 2010-04-26 23:53:30 +00:00
filters.c - fix possible Dechunking Filter Buffer Overflow 2010-04-28 14:10:01 +00:00
flock_compat.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
flock_compat.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
formatted_print.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
fsock.c Removed safe_mode 2010-04-26 23:53:30 +00:00
fsock.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
ftok.c Removed safe_mode 2010-04-26 23:53:30 +00:00
ftp_fopen_wrapper.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
head.c Make http_response_code() return FALSE where data is not available (Ex. cli sapi) 2010-08-10 00:19:51 +00:00
head.h Implemented FR #52555 (Ability to get HTTP response code) 2010-08-09 13:10:32 +00:00
html_tables.h - Revamp of the decoding portion of html.c. 2010-10-10 19:04:59 +00:00
html.c - Revamp of the decoding portion of html.c. 2010-10-10 19:04:59 +00:00
html.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
http_fopen_wrapper.c -fix logic (and BC break) 2010-08-23 18:05:05 +00:00
http.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
image.c Fixed bug #33210 (getimagesize() fails to detect width/height on certain JPEGs). 2010-06-30 12:21:35 +00:00
incomplete_class.c Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties 2010-05-24 14:11:39 +00:00
info.c Remove unused variables 2010-06-01 17:13:50 +00:00
info.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
iptc.c Fixed compiler warnings in the standard library 2010-09-23 03:45:36 +00:00
lcg.c Worked with Samy Kamkar to improve LCG entropy. 2010-01-08 09:43:14 +00:00
levenshtein.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
link_win32.c - use OPENBASEDIR_CHECKPATH macro (does safe mode too in 5.3) so trunk and branches are the same 2010-09-10 19:27:39 +00:00
link.c - use php_sys_readlink 2010-09-13 09:30:07 +00:00
mail.c - use popen_ex directly, avoid the tsrm fetch 2010-09-17 10:04:28 +00:00
Makefile.frag - Allow build without flex/bison installed (fixes builddir != srcdir build 2007-05-24 21:40:41 +00:00
math.c Additional fix for bug #52550 & fix test & warning from previous fixes 2010-08-08 15:45:02 +00:00
md5.c Removed safe_mode 2010-04-26 23:53:30 +00:00
md5.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
metaphone.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
microtime.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
microtime.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
pack.c Fixed a possible memory corruption in pack(). Reported by Stefan Esser 2010-05-12 11:04:57 +00:00
pack.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
pageinfo.c * Pass TSRMLS_C around pageinfo.c 2010-04-13 11:41:40 +00:00
pageinfo.h * Pass TSRMLS_C around pageinfo.c 2010-04-13 11:41:40 +00:00
php_array.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_assert.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_browscap.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_crypt_r.c - #51424, solaris part 2010-06-17 10:22:03 +00:00
php_crypt_r.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_crypt.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_dir.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_dns.h sed -i "s#1997-2008#1997-2010#g" **/*.c **/*.h 2010-01-07 11:02:39 +00:00
php_ext_syslog.h * Changed the way removed ini directives are shown so its easier to add new ones 2010-04-12 01:52:55 +00:00
php_filestat.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_fopen_wrapper.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_fopen_wrappers.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_ftok.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_http.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_image.h - #51063, implement getimagesizefromstring 2010-05-05 13:37:40 +00:00
php_incomplete_class.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_iptc.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_lcg.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_link.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_mail.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_math.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_metaphone.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_rand.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_smart_str_public.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_smart_str.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_standard.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_string.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_type.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_uuencode.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
php_var.h Improved performance of unserialize(), original patch by galaxy dot mipt at gmail dot com 2010-09-18 16:09:28 +00:00
php_versioning.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
proc_open.c - WS 2010-09-08 09:11:18 +00:00
proc_open.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
quot_print.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
quot_print.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
rand.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
scanf.c * fixed bug #47842 sscanf() does not support 64-bit values 2010-05-19 11:28:08 +00:00
scanf.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
sha1.c Removed safe_mode 2010-04-26 23:53:30 +00:00
sha1.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
soundex.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
streamsfuncs.c - use TSRMLS_D/C with php_stream_context_alloc 2010-09-16 09:33:42 +00:00
streamsfuncs.h - [doc] add stream_set_read_buffer, equivalent of stream_set_write_buffer for read operations. Fixing possible bad effects while reading devices. full context support is under work. 2010-04-12 08:25:50 +00:00
string.c Fixed issues inside str_pad() identified by bug #52550 2010-08-06 19:55:10 +00:00
strnatcmp.c Fix for bug #49698 2009-09-28 13:29:53 +00:00
syslog.c * Changed the way removed ini directives are shown so its easier to add new ones 2010-04-12 01:52:55 +00:00
type.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
uniqid.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
uniqid.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
url_scanner_ex.c Fixed compiler warnings in the standard library 2010-09-23 03:45:36 +00:00
url_scanner_ex.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
url_scanner_ex.re Fixed compiler warnings in the standard library 2010-09-23 03:45:36 +00:00
url.c - use TSRMLS_D/C with php_stream_context_alloc 2010-09-16 09:33:42 +00:00
url.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
user_filters.c Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table 2010-04-20 10:57:45 +00:00
uuencode.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
var_unserializer.c Improved performance of unserialize(), original patch by galaxy dot mipt at gmail dot com 2010-09-18 16:09:28 +00:00
var_unserializer.re Improved performance of unserialize(), original patch by galaxy dot mipt at gmail dot com 2010-09-18 16:09:28 +00:00
var.c Missed to check this one in the last commit 2010-09-23 03:49:26 +00:00
versioning.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
winver.h - double declaration and comments cleanup 2008-12-09 17:57:59 +00:00