summaryrefslogtreecommitdiff
path: root/ext/standard/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/string.c')
-rw-r--r--ext/standard/string.c43
1 files changed, 20 insertions, 23 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 7cba634ce5..1b7bc6424d 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -454,15 +454,15 @@ int php_charmask(unsigned char *input, int len, char *mask TSRMLS_DC)
/* {{{ php_trim
Compatibility function, ports old-API to new one. (DEPRECATED)
*/
-void php_trim(zval *str, zval *return_value, int mode)
+void php_trim(zval *str, zval *return_value, int mode TSRMLS_DC)
{
- php_trim2(str, NULL, return_value, mode);
+ php_trim2(str, NULL, return_value, mode TSRMLS_CC);
}
/* }}} */
/* {{{ php_trim2
*/
-PHPAPI void php_trim2(zval *str, zval *what, zval *return_value, int mode)
+PHPAPI void php_trim2(zval *str, zval *what, zval *return_value, int mode TSRMLS_DC)
/* mode 1 : trim left
mode 2 : trim right
mode 3 : trim left and right
@@ -470,8 +470,6 @@ PHPAPI void php_trim2(zval *str, zval *what, zval *return_value, int mode)
what indicates which chars are to be trimmed. NULL->default (' \t\n\r\v\0')
*/
{
- TSRMLS_FETCH();
-
register int i;
int len = str->value.str.len;
int trimmed = 0;
@@ -528,7 +526,7 @@ PHP_FUNCTION(chop)
/* convert_to_string_ex never fails (last line: op->type = IS_STRING),
so, not checking for that. */
- php_trim2(*str, ZEND_NUM_ARGS()==2?*what:NULL, return_value, 2);
+ php_trim2(*str, ZEND_NUM_ARGS()==2?*what:NULL, return_value, 2 TSRMLS_CC);
}
/* }}} */
@@ -545,7 +543,7 @@ PHP_FUNCTION(trim)
if (ZEND_NUM_ARGS() == 2)
convert_to_string_ex(str);
- php_trim2(*str, ZEND_NUM_ARGS()==2?*what:NULL, return_value, 3);
+ php_trim2(*str, ZEND_NUM_ARGS()==2?*what:NULL, return_value, 3 TSRMLS_CC);
}
/* }}} */
@@ -562,7 +560,7 @@ PHP_FUNCTION(ltrim)
if (ZEND_NUM_ARGS() == 2)
convert_to_string_ex(str);
- php_trim2(*str, ZEND_NUM_ARGS()==2?*what:NULL, return_value, 1);
+ php_trim2(*str, ZEND_NUM_ARGS()==2?*what:NULL, return_value, 1 TSRMLS_CC);
}
/* }}} */
@@ -2107,12 +2105,11 @@ PHP_FUNCTION(similar_text)
/* {{{ php_stripslashes
*
* be careful, this edits the string in-place */
-PHPAPI void php_stripslashes(char *str, int *len)
+PHPAPI void php_stripslashes(char *str, int *len TSRMLS_DC)
{
char *s, *t;
int l;
char escape_char='\\';
- TSRMLS_FETCH();
if (PG(magic_quotes_sybase)) {
escape_char='\'';
@@ -2168,15 +2165,17 @@ PHP_FUNCTION(addcslashes)
convert_to_string_ex(str);
convert_to_string_ex(what);
- if(Z_STRLEN_PP(str) == 0) {
+ if (Z_STRLEN_PP(str) == 0) {
RETURN_EMPTY_STRING();
}
- if(Z_STRLEN_PP(what) == 0) {
- RETURN_STRINGL(Z_STRVAL_PP(str),Z_STRLEN_PP(str),1);
+ if (Z_STRLEN_PP(what) == 0) {
+ RETURN_STRINGL(Z_STRVAL_PP(str), Z_STRLEN_PP(str), 1);
}
- return_value->value.str.val = php_addcslashes((*str)->value.str.val,(*str)->value.str.len,&return_value->value.str.len,0,(*what)->value.str.val,(*what)->value.str.len);
+ Z_STRVAL_P(return_value) = php_addcslashes(Z_STRVAL_PP(str),
+ Z_STRLEN_PP(str), &Z_STRLEN_P(return_value), 0, Z_STRVAL_PP(what),
+ Z_STRLEN_PP(what) TSRMLS_CC);
return_value->type = IS_STRING;
}
/* }}} */
@@ -2192,12 +2191,13 @@ PHP_FUNCTION(addslashes)
}
convert_to_string_ex(str);
- if(Z_STRLEN_PP(str) == 0) {
+ if (Z_STRLEN_PP(str) == 0) {
RETURN_EMPTY_STRING();
}
- return_value->value.str.val = php_addslashes((*str)->value.str.val,(*str)->value.str.len,&return_value->value.str.len,0);
- return_value->type = IS_STRING;
+ Z_STRVAL_P(return_value) = php_addslashes(Z_STRVAL_PP(str),
+ Z_STRLEN_PP(str), &Z_STRLEN_P(return_value), 0 TSRMLS_CC);
+ Z_TYPE_P(return_value) = IS_STRING;
}
/* }}} */
@@ -2231,7 +2231,7 @@ PHP_FUNCTION(stripslashes)
*return_value = **str;
zval_copy_ctor(return_value);
- php_stripslashes(return_value->value.str.val,&return_value->value.str.len);
+ php_stripslashes(Z_STRVAL_P(return_value), &Z_STRLEN_P(return_value) TSRMLS_CC);
}
/* }}} */
@@ -2314,10 +2314,8 @@ PHPAPI void php_stripcslashes(char *str, int *len)
/* {{{ php_addcslashes
*/
-PHPAPI char *php_addcslashes(char *str, int length, int *new_length, int should_free, char *what, int wlength)
+PHPAPI char *php_addcslashes(char *str, int length, int *new_length, int should_free, char *what, int wlength TSRMLS_DC)
{
- /* TSRMLS_FETCH(); (causes parse error -> ?) */
-
char flags[256];
char *new_str = emalloc((length?length:(length=strlen(str)))*4+1);
char *source,*target;
@@ -2372,14 +2370,13 @@ PHPAPI char *php_addcslashes(char *str, int length, int *new_length, int should_
/* {{{ php_addslashes
*/
-PHPAPI char *php_addslashes(char *str, int length, int *new_length, int should_free)
+PHPAPI char *php_addslashes(char *str, int length, int *new_length, int should_free TSRMLS_DC)
{
/* maximum string length, worst case situation */
char *new_str;
char *source,*target;
char *end;
char c;
- TSRMLS_FETCH();
if (!str) {
*new_length = 0;