diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-04-15 22:10:39 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-04-15 22:10:39 +0400 |
commit | d0cc5c633c3eeaa61fe1108e74ba9c5941e580c0 (patch) | |
tree | 0f0487e5584ad8127fdd4ee307570aa58cdbdc27 /ext/pcre/php_pcre.c | |
parent | f9b26bc39a9ea9b1380628eeb0e6dad3c93cfcb0 (diff) | |
download | php-git-d0cc5c633c3eeaa61fe1108e74ba9c5941e580c0.tar.gz |
Use zend_string* instead of char*
Diffstat (limited to 'ext/pcre/php_pcre.c')
-rw-r--r-- | ext/pcre/php_pcre.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index 54f7667d0f..1527fff30d 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -1640,8 +1640,8 @@ static PHP_FUNCTION(preg_quote) char *in_str_end; /* End of the input string */ int delim_len = 0; char *delim = NULL; /* Additional delimiter argument */ - char *out_str, /* Output string with quoted characters */ - *p, /* Iterator for input string */ + zend_string *out_str; /* Output string with quoted characters */ + char *p, /* Iterator for input string */ *q, /* Iterator for output string */ delim_char=0, /* Delimiter character to be quoted */ c; /* Current character */ @@ -1667,10 +1667,10 @@ static PHP_FUNCTION(preg_quote) /* Allocate enough memory so that even if each character is quoted, we won't run out of room */ - out_str = safe_emalloc(4, in_str_len, 1); + out_str = STR_SAFE_ALLOC(4, in_str_len, 0, 0); /* Go through the string and quote necessary characters */ - for(p = in_str, q = out_str; p != in_str_end; p++) { + for (p = in_str, q = out_str->val; p != in_str_end; p++) { c = *p; switch(c) { case '.': @@ -1712,11 +1712,10 @@ static PHP_FUNCTION(preg_quote) } } *q = '\0'; - + /* Reallocate string and return it */ -//??? RETVAL_STRINGL(erealloc(out_str, q - out_str + 1), q - out_str, 0); - RETVAL_STRINGL(out_str, q - out_str); - efree(out_str); + out_str = STR_REALLOC(out_str, q - out_str->val, 0); + RETURN_STR(out_str); } /* }}} */ |