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;