From 54b5f07c517a517d7cad5f8921ebe1ee8c900eae Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 19 Dec 2012 12:15:34 +0100 Subject: PHP 5.4.10 --- php-5.4.9-json.patch | 76 ---------------------------------------------------- 1 file changed, 76 deletions(-) delete mode 100644 php-5.4.9-json.patch (limited to 'php-5.4.9-json.patch') diff --git a/php-5.4.9-json.patch b/php-5.4.9-json.patch deleted file mode 100644 index 73db3a9..0000000 --- a/php-5.4.9-json.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff -up php-5.4.9/ext/json/config.m4.63588 php-5.4.9/ext/json/config.m4 ---- php-5.4.9/ext/json/config.m4.63588 2012-11-23 14:48:42.934043358 +0100 -+++ php-5.4.9/ext/json/config.m4 2012-11-23 14:48:58.237102616 +0100 -@@ -9,7 +9,7 @@ if test "$PHP_JSON" != "no"; then - AC_DEFINE([HAVE_JSON],1 ,[whether to enable JavaScript Object Serialization support]) - AC_HEADER_STDC - -- PHP_NEW_EXTENSION(json, json.c utf8_to_utf16.c utf8_decode.c JSON_parser.c, $ext_shared) -+ PHP_NEW_EXTENSION(json, json.c utf8_decode.c JSON_parser.c, $ext_shared) - PHP_INSTALL_HEADERS([ext/json], [php_json.h]) - PHP_SUBST(JSON_SHARED_LIBADD) - fi -diff -up php-5.4.9/ext/json/json.c.63588 php-5.4.9/ext/json/json.c ---- php-5.4.9/ext/json/json.c.63588 2012-11-23 14:48:28.038987099 +0100 -+++ php-5.4.9/ext/json/json.c 2012-11-23 14:51:37.780705594 +0100 -@@ -25,8 +25,8 @@ - #include "php.h" - #include "php_ini.h" - #include "ext/standard/info.h" -+#include "ext/standard/html.h" - #include "ext/standard/php_smart_str.h" --#include "utf8_to_utf16.h" - #include "JSON_parser.h" - #include "php_json.h" - #include -@@ -344,6 +344,32 @@ static void json_encode_array(smart_str - } - /* }}} */ - -+static int json_utf8_to_utf16(unsigned short *utf16, char utf8[], int len) /* {{{ */ -+{ -+ size_t pos = 0, us; -+ int j, status; -+ -+ for (j=0 ; pos < len ; j++) { -+ us = php_next_utf8_char((const unsigned char *)utf8, len, &pos, &status); -+ if (status != SUCCESS) { -+ return -1; -+ } -+ if (utf16) { -+ /* From http://en.wikipedia.org/wiki/UTF16 */ -+ if (us >= 0x10000) { -+ us -= 0x10000; -+ utf16[j++] = (unsigned short)((us >> 10) | 0xd800); -+ utf16[j] = (unsigned short)((us & 0x3ff) | 0xdc00); -+ } else { -+ utf16[j] = (unsigned short)us; -+ } -+ } -+ } -+ return j; -+} -+/* }}} */ -+ -+ - #define REVERSE16(us) (((us & 0xf) << 12) | (((us >> 4) & 0xf) << 8) | (((us >> 8) & 0xf) << 4) | ((us >> 12) & 0xf)) - - static void json_escape_string(smart_str *buf, char *s, int len, int options TSRMLS_DC) /* {{{ */ -@@ -383,7 +409,7 @@ static void json_escape_string(smart_str - } - - utf16 = (options & PHP_JSON_UNESCAPED_UNICODE) ? NULL : (unsigned short *) safe_emalloc(len, sizeof(unsigned short), 0); -- ulen = utf8_to_utf16(utf16, s, len); -+ ulen = json_utf8_to_utf16(utf16, s, len); - if (ulen <= 0) { - if (utf16) { - efree(utf16); -@@ -628,7 +654,7 @@ PHP_JSON_API void php_json_decode_ex(zva - - utf16 = (unsigned short *) safe_emalloc((str_len+1), sizeof(unsigned short), 1); - -- utf16_len = utf8_to_utf16(utf16, str, str_len); -+ utf16_len = json_utf8_to_utf16(utf16, str, str_len); - if (utf16_len <= 0) { - if (utf16) { - efree(utf16); -- cgit