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