summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/hyperwave/hw.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/ext/hyperwave/hw.c b/ext/hyperwave/hw.c
index 89a70e9be3..5fce6aca67 100644
--- a/ext/hyperwave/hw.c
+++ b/ext/hyperwave/hw.c
@@ -2863,14 +2863,8 @@ PHP_FUNCTION(hw_new_document)
PHP_FUNCTION(hw_new_document_from_file)
{
pval **arg1, **arg2;
- int len, type;
char *ptr;
- int issock=0;
- int socketd=0;
- FILE *fp;
php_stream *stream;
- int ready=0;
- int bcount=0;
int use_include_path=0;
hw_document *doc;
@@ -2895,13 +2889,16 @@ PHP_FUNCTION(hw_new_document_from_file)
doc->size = php_stream_copy_to_mem(stream, &doc->data, PHP_STREAM_COPY_ALL, 1);
php_stream_close(stream);
-
- doc->data = realloc(doc->data, bcount+1);
+
+ /* I'm not sure if it is necessary to add a '\0'. It depends on whether
+ * PHP-Strings has to be null terminated. doc->size doesn't count the
+ * '\0'.
+ */
+ doc->data = realloc(doc->data, doc->size+1);
ptr = doc->data;
- ptr[bcount] = '\0';
+ ptr[doc->size] = '\0';
doc->attributes = strdup(Z_STRVAL_PP(arg1));
doc->bodytag = NULL;
- doc->size = bcount;
Z_LVAL_P(return_value) = zend_list_insert(doc, le_document);
Z_TYPE_P(return_value) = IS_LONG;
}