From 35e43dabe16ba1d6edc4f70e6d5a09a3e86b1cf4 Mon Sep 17 00:00:00 2001 From: Moriyoshi Koizumi Date: Mon, 19 Jul 2004 17:53:00 +0000 Subject: [PATCH] - MFH (html.c: 1.98, bug29199.phpt: 1.1): Fix bug #29199 (html_entity_decode() misbehaves with UTF-8) --- NEWS | 1 + ext/standard/html.c | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 1f188c9bfb..0d751ea285 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2004, PHP 5.0.1 +- Fixed bug #29119 (html_entity_decode() misbehaves with UTF-8). (Moriyoshi) - Fixed bug #28829 (Thread-unsafety in bcmath elementary values). (Sara) - Fixed bug #28464 (catch() does not catch exceptions by interfaces). (Marcus) - Fixed convert.* filters to consume remaining buckets_in on flush. (Sara) diff --git a/ext/standard/html.c b/ext/standard/html.c index 4f8a4be46b..e3a38c3d15 100644 --- a/ext/standard/html.c +++ b/ext/standard/html.c @@ -157,11 +157,13 @@ static entity_table_t ent_uni_punct[] = { "ensp", "emsp", NULL, NULL, NULL, NULL, NULL, "thinsp", NULL, NULL, "zwnj", "zwj", "lrm", "rlm", NULL, NULL, NULL, "ndash", "mdash", NULL, NULL, NULL, - "lsquo", "rsquo", "sbquo", NULL, "ldquo", "rdquo", "bdquo", + /* 8216 */ + "lsquo", "rsquo", "sbquo", NULL, "ldquo", "rdquo", "bdquo", NULL, "dagger", "Dagger", "bull", NULL, NULL, NULL, "hellip", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "permil", NULL, - "prime", "Prime", NULL, NULL, NULL, NULL, NULL, "lsaquo", "rsaquo", - NULL, NULL, NULL, "oline", NULL, NULL, NULL, NULL, NULL, + /* 8242 */ + "prime", "Prime", NULL, NULL, NULL, NULL, NULL, "lsaquo", "rsaquo", NULL, + NULL, NULL, "oline", NULL, NULL, NULL, NULL, NULL, "frasl" }; @@ -899,8 +901,7 @@ PHPAPI char *php_unescape_html_entities(unsigned char *old, int oldlen, int *new if (entity_map[j].table[k - entity_map[j].basechar] == NULL) continue; - - + entity[0] = '&'; entity_length = strlen(entity_map[j].table[k - entity_map[j].basechar]); strncpy(&entity[1], entity_map[j].table[k - entity_map[j].basechar], sizeof(entity) - 2); -- 2.40.0