felipe Mon Jan 12 20:07:28 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard dns.c dns_win32.c Log: - Reverted my previous commit to avoid unnecessary BC. [DOC] Added new entry to the array returned by dns_get_record(), 'entries', which contains the separated value from TXT value. (so 'txt' kept the concatenated version) (Pierre) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dns.c?r1=1.70.2.7.2.5.2.19&r2=1.70.2.7.2.5.2.20&diff_format=u Index: php-src/ext/standard/dns.c diff -u php-src/ext/standard/dns.c:1.70.2.7.2.5.2.19 php-src/ext/standard/dns.c:1.70.2.7.2.5.2.20 --- php-src/ext/standard/dns.c:1.70.2.7.2.5.2.19 Sun Jan 11 23:37:16 2009 +++ php-src/ext/standard/dns.c Mon Jan 12 20:07:28 2009 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dns.c,v 1.70.2.7.2.5.2.19 2009/01/11 23:37:16 scottmac Exp $ */ +/* $Id: dns.c,v 1.70.2.7.2.5.2.20 2009/01/12 20:07:28 felipe Exp $ */ /* {{{ includes */ #include "php.h" @@ -456,29 +456,26 @@ break; case DNS_T_TXT: { - zval *txtarray = NULL; int ll = 0; - char *txt = NULL; + zval *entries = NULL; add_assoc_string(*subarray, "type", "TXT", 1); tp = emalloc(dlen + 1); - MAKE_STD_ZVAL(txtarray); - array_init(txtarray); + MAKE_STD_ZVAL(entries); + array_init(entries); while (ll < dlen) { - txt = tp + ll; n = cp[ll]; - memcpy(txt, cp + ll + 1, n); + memcpy(tp + ll , cp + ll + 1, n); + add_next_index_stringl(entries, cp + ll + 1, n, 1); ll = ll + n + 1; - tp[ll] = '\0'; - add_next_index_stringl(txtarray, txt, n, 1); } - + tp[dlen] = '\0'; cp += dlen; - add_assoc_zval(*subarray, "txt", txtarray); - efree(tp); + add_assoc_stringl(*subarray, "txt", tp, dlen - 1, 0); + add_assoc_zval(*subarray, "entries", entries); } break; case DNS_T_SOA: http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dns_win32.c?r1=1.1.2.5&r2=1.1.2.6&diff_format=u Index: php-src/ext/standard/dns_win32.c diff -u php-src/ext/standard/dns_win32.c:1.1.2.5 php-src/ext/standard/dns_win32.c:1.1.2.6 --- php-src/ext/standard/dns_win32.c:1.1.2.5 Sun Jan 11 18:47:17 2009 +++ php-src/ext/standard/dns_win32.c Mon Jan 12 20:07:28 2009 @@ -194,24 +194,30 @@ int i = 0; DNS_TXT_DATA *data_txt = &pRec->Data.TXT; DWORD count = data_txt->dwStringCount; - char *txt; - long txt_len; - zval *txtarray; - - MAKE_STD_ZVAL(txtarray); - array_init(txtarray); + char *txt, *txt_dst; + long txt_len = 0; + zval *entries; add_assoc_string(*subarray, "type", "TXT", 1); + + ALLOC_INIT_ZVAL(entries); + array_init(entries); + + for (i = 0; i < count; i++) { + txt_len += strlen(data_txt->pStringArray[i]) + 1; + } + txt = ecalloc(txt_len * 2, 1); + txt_dst = txt; for (i = 0; i < count; i++) { - txt_len = strlen(data_txt->pStringArray[i]); - txt = emalloc(txt_len + 1); - memcpy(txt, data_txt->pStringArray[i], txt_len); - txt[txt_len] = '\0'; - add_next_index_stringl(txtarray, txt, txt_len, 0); + int len = strlen(data_txt->pStringArray[i]); + memcpy(txt_dst, data_txt->pStringArray[i], len); + add_next_index_stringl(entries, data_txt->pStringArray[i], len, 1); + txt_dst += len; } - add_assoc_zval(*subarray, "txt", txtarray); + add_assoc_string(*subarray, "txt", txt, 0); + add_assoc_zval(*subarray, "entries", entries); } break;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php