From: Joe Watkins Date: Mon, 9 Jan 2017 05:31:41 +0000 (+0000) Subject: Fixed bug #72979 money_format stores wrong length on AIX X-Git-Tag: php-7.1.2RC1~110^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8dd523a21604bfb0c8ac70367396507ce9fe77cb;p=php Fixed bug #72979 money_format stores wrong length on AIX --- diff --git a/NEWS b/NEWS index 224ed83fae..75b850933a 100644 --- a/NEWS +++ b/NEWS @@ -27,6 +27,7 @@ PHP NEWS . Fixed bug #47021 (SoapClient stumbles over WSDL delivered with "Transfer-Encoding: chunked"). (Rowan Collins) . Fixed bug #72974 (imap is undefined service on AIX). (matthieu.sarter) + . Fixed bug #72979 (money_format stores wrong length AIX). (matthieu.sarter) - ZIP: . Fixed bug #70103 (ZipArchive::addGlob ignores remove_all_path option). (cmb, diff --git a/ext/standard/string.c b/ext/standard/string.c index 613247bd19..8fd2c55e20 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -5514,7 +5514,15 @@ PHP_FUNCTION(money_format) zend_string_free(str); RETURN_FALSE; } +#ifdef _AIX + /* + On AIX strfmon seems to include the terminating \0 in the length returned by strfmon, + despite the documentation indicating it is not included. + */ + ZSTR_LEN(str) = strlen(ZSTR_VAL(str)); +#else ZSTR_LEN(str) = (size_t)res_len; +#endif ZSTR_VAL(str)[ZSTR_LEN(str)] = '\0'; RETURN_NEW_STR(zend_string_truncate(str, ZSTR_LEN(str), 0));