mike Tue Jul 25 22:57:31 2006 UTC
Modified files:
/php-src/ext/tidy tidy.c
Log:
- reduce memory footprint
http://cvs.php.net/viewvc.cgi/php-src/ext/tidy/tidy.c?r1=1.90&r2=1.91&diff_format=u
Index: php-src/ext/tidy/tidy.c
diff -u php-src/ext/tidy/tidy.c:1.90 php-src/ext/tidy/tidy.c:1.91
--- php-src/ext/tidy/tidy.c:1.90 Sat Jul 8 00:04:37 2006
+++ php-src/ext/tidy/tidy.c Tue Jul 25 22:57:31 2006
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: tidy.c,v 1.90 2006/07/08 00:04:37 nlopess Exp $ */
+/* $Id: tidy.c,v 1.91 2006/07/25 22:57:31 mike Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -46,6 +46,7 @@
/* {{{ ext/tidy macros
*/
#define REMOVE_NEWLINE(_z) _z->value.str.val[_z->value.str.len-1] = '\0';
_z->value.str.len--;
+#define FIX_BUFFER(bptr) (bptr)->bp[(bptr)->size-1] = '\0'
#define TIDYDOC_FROM_OBJECT(tdoc, object) \
{ \
@@ -478,7 +479,7 @@
TidyBuffer buf = {0};
tidyBufInit(&buf);
- tidyBufAppend(&buf, data, data_len);
+ tidyBufAttach(&buf, data, data_len);
if (tidyParseBuffer(doc, &buf) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s",
errbuf->bp);
@@ -488,14 +489,12 @@
TidyBuffer output = {0};
tidySaveBuffer (doc, &output);
- RETVAL_STRINGL(output.bp, output.size-1, 1);
- tidyBufFree(&output);
+ FIX_BUFFER(&output);
+ RETVAL_STRINGL(output.bp, output.size-1, 0);
} else {
RETVAL_FALSE;
}
}
-
- tidyBufFree(&buf);
}
if (is_file) {
@@ -662,8 +661,7 @@
case IS_STRING:
obj = (PHPTidyObj *)zend_object_store_get_object(in
TSRMLS_CC);
tidySaveBuffer (obj->ptdoc->doc, &output);
- ZVAL_STRINGL(out, output.bp, output.size-1, TRUE);
- tidyBufFree(&output);
+ ZVAL_STRINGL(out, output.bp, output.size, 0);
break;
default:
@@ -694,8 +692,7 @@
case IS_STRING:
obj = (PHPTidyObj *)zend_object_store_get_object(in
TSRMLS_CC);
tidyNodeGetText(obj->ptdoc->doc, obj->node, &buf);
- ZVAL_STRINGL(out, buf.bp, buf.size-1, TRUE);
- tidyBufFree(&buf);
+ ZVAL_STRINGL(out, buf.bp, buf.size, 0);
break;
default:
@@ -715,11 +712,9 @@
if (output.size) {
MAKE_STD_ZVAL(temp);
- ZVAL_STRINGL(temp, output.bp, output.size-1, TRUE);
+ ZVAL_STRINGL(temp, output.bp, output.size, 0);
zend_hash_update(obj->std.properties, "value", sizeof("value"),
(void *)&temp, sizeof(zval *), NULL);
}
-
- tidyBufFree(&output);
if (obj->ptdoc->errbuf->size) {
MAKE_STD_ZVAL(temp);
@@ -935,14 +930,12 @@
}
tidyBufInit(&buf);
- tidyBufAppend(&buf, string, len);
+ tidyBufAttach(&buf, string, len);
if (tidyParseBuffer(obj->ptdoc->doc, &buf) < 0) {
- tidyBufFree(&buf);
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s",
obj->ptdoc->errbuf->bp);
return FAILURE;
}
- tidyBufFree(&buf);
tidy_doc_update_properties(obj TSRMLS_CC);
return SUCCESS;
@@ -994,7 +987,7 @@
php_info_print_table_start();
php_info_print_table_header(2, "Tidy support", "enabled");
php_info_print_table_row(2, "libTidy Release", (char
*)tidyReleaseDate());
- php_info_print_table_row(2, "Extension Version",
PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.90 2006/07/08 00:04:37 nlopess Exp
$)");
+ php_info_print_table_row(2, "Extension Version",
PHP_TIDY_MODULE_VERSION " ($Id: tidy.c,v 1.91 2006/07/25 22:57:31 mike Exp $)");
php_info_print_table_end();
DISPLAY_INI_ENTRIES();
@@ -1031,7 +1024,7 @@
TidyBuffer buf = {0};
tidyBufInit(&buf);
- tidyBufAppend(&buf, input, input_len);
+ tidyBufAttach(&buf, input, input_len);
if (tidyParseBuffer(doc, &buf) < 0 || tidyCleanAndRepair(doc) <
0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s",
errbuf.bp);
@@ -1041,12 +1034,9 @@
tidyBufInit(&output);
tidySaveBuffer(doc, &output);
- RETVAL_STRINGL(output.bp, output.size-1, 1);
-
- tidyBufFree(&output);
+ FIX_BUFFER(&output);
+ RETVAL_STRINGL(output.bp, output.size-1, 0);
}
-
- tidyBufFree(&buf);
} else {
RETVAL_NULL();
}
@@ -1107,10 +1097,8 @@
TIDY_FETCH_OBJECT;
tidySaveBuffer(obj->ptdoc->doc, &output);
-
- RETVAL_STRINGL(output.bp, output.size-1, 1);
-
- tidyBufFree(&output);
+ FIX_BUFFER(&output);
+ RETVAL_STRINGL(output.bp, output.size-1, 0);
}
/* }}} */
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php