RETURN_FALSE;
}
- ret = php_dbm_insert(info, Z_STRVAL_P(key), Z_STRVAL_P(value));
+ ret = php_dbm_insert(info, Z_STRVAL_P(key), Z_STRVAL_P(value) TSRMLS_CC);
RETURN_LONG(ret);
}
/* }}} */
/* {{{ php_dbm_insert
*/
-int php_dbm_insert(dbm_info *info, char *key, char *value) {
+int php_dbm_insert(dbm_info *info, char *key, char *value TSRMLS_DC) {
datum key_datum, value_datum;
int ret;
DBM_TYPE dbf;
- php_stripslashes(key,NULL);
- php_stripslashes(value,NULL);
+ php_stripslashes(key, NULL TSRMLS_CC);
+ php_stripslashes(value, NULL TSRMLS_CC);
value_datum.dptr = estrdup(value);
value_datum.dsize = strlen(value);
datum key_datum, value_datum;
if (PG(magic_quotes_runtime)) {
- php_stripslashes(key,NULL);
- php_stripslashes(value,NULL);
+ php_stripslashes(key, NULL TSRMLS_CC);
+ php_stripslashes(value, NULL TSRMLS_CC);
}
value_datum.dptr = estrdup(value);
ret = NULL;
if (ret && PG(magic_quotes_runtime)) {
- ret = php_addslashes(ret, value_datum.dsize, NULL, 1);
+ ret = php_addslashes(ret, value_datum.dsize, NULL, 1 TSRMLS_CC);
}
return(ret);
}
else ret=NULL;
if (ret && PG(magic_quotes_runtime)) {
- ret = php_addslashes(ret, ret_datum.dsize, NULL, 1);
+ ret = php_addslashes(ret, ret_datum.dsize, NULL, 1 TSRMLS_CC);
}
return(ret);
}
dbm_info *php_find_dbm(pval *id);
int php_dbm_close(zend_rsrc_list_entry *rsrc TSRMLS_DC);
dbm_info *php_dbm_open(char *filename, char *mode);
-int php_dbm_insert(dbm_info *info, char *key, char *value);
+int php_dbm_insert(dbm_info *info, char *key, char *value TSRMLS_DC);
char *php_dbm_fetch(dbm_info *info, char *key);
int php_dbm_replace(dbm_info *info, char *key, char *value);
int php_dbm_exists(dbm_info *info, char *key);
/* Fetch a row of result
*/
-static void php_ii_fetch(INTERNAL_FUNCTION_PARAMETERS, II_LINK *ii_link, int result_type)
+static void php_ii_fetch(INTERNAL_FUNCTION_PARAMETERS, II_LINK *ii_link, int result_type TSRMLS_DC)
{
IIAPI_GETCOLPARM getColParm;
IIAPI_DATAVALUE *columnData;
}
/* use php_addslashes if asked to */
if(PG(magic_quotes_runtime)) {
- value_char_p = php_addslashes((char *) columnData[k-1].dv_value,columnData[k-1].dv_length,&len,0);
+ value_char_p = php_addslashes((char *) columnData[k-1].dv_value,columnData[k-1].dv_length,&len,0 TSRMLS_CC);
should_copy = 0;
} else {
value_char_p = (char *) columnData[k-1].dv_value;
ZEND_FETCH_RESOURCE2(ii_link, II_LINK *, link, link_id, "Ingres II Link", le_ii_link, le_ii_plink);
php_ii_fetch(INTERNAL_FUNCTION_PARAM_PASSTHRU, ii_link,
- (argc == 0 ? II_BOTH : Z_LVAL_PP(result_type)));
+ (argc == 0 ? II_BOTH : Z_LVAL_PP(result_type)) TSRMLS_CC);
}
/* }}} */
ZEND_FETCH_RESOURCE2(ii_link, II_LINK *, link, link_id, "Ingres II Link", le_ii_link, le_ii_plink);
- php_ii_fetch(INTERNAL_FUNCTION_PARAM_PASSTHRU, ii_link, II_NUM);
+ php_ii_fetch(INTERNAL_FUNCTION_PARAM_PASSTHRU, ii_link, II_NUM TSRMLS_CC);
}
/* }}} */
ZEND_FETCH_RESOURCE2(ii_link, II_LINK *, link, link_id, "Ingres II Link", le_ii_link, le_ii_plink);
php_ii_fetch(INTERNAL_FUNCTION_PARAM_PASSTHRU, ii_link,
- (argc == 0 ? II_BOTH : Z_LVAL_PP(result_type)));
+ (argc == 0 ? II_BOTH : Z_LVAL_PP(result_type)) TSRMLS_CC);
if(Z_TYPE_P(return_value)==IS_ARRAY) {
convert_to_object(return_value);
}
/* }}} */
/* {{{ _php_ibase_var_pval() */
-static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int scale, int flag)
+static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int scale, int flag TSRMLS_DC)
{
char string_data[255];
- TSRMLS_FETCH();
switch(type & ~1) {
case SQL_VARYING:
memcpy(val->value.str.val, data, len);
val->value.str.val[len] = '\0';
if (PG(magic_quotes_runtime)) {
- val->value.str.val = php_addslashes(val->value.str.val, len, &len, 1);
+ val->value.str.val = php_addslashes(val->value.str.val, len, &len, 1 TSRMLS_CC);
}
val->type = IS_STRING;
val->value.str.len = len;
/* {{{ _php_ibase_arr_pval() */
/* create multidimension array - resursion function
(*datap) argument changed */
-static int _php_ibase_arr_pval(pval *ar_pval, char **datap, ibase_array *ib_array, int dim, int flag)
+static int _php_ibase_arr_pval(pval *ar_pval, char **datap, ibase_array *ib_array, int dim, int flag TSRMLS_DC)
{
pval tmp;
int i, dim_len, l_bound, u_bound;
if (dim < ib_array->ar_desc.array_desc_dimensions - 1) { /* array again */
for (i = 0; i < dim_len; i++) {
/* recursion here */
- if (_php_ibase_arr_pval(ar_pval, datap, ib_array, dim+1, flag) == FAILURE) {
+ if (_php_ibase_arr_pval(ar_pval, datap, ib_array, dim+1, flag TSRMLS_CC) == FAILURE) {
return FAILURE;
}
}
if (_php_ibase_var_pval(&tmp, *datap, ib_array->el_type,
ib_array->ar_desc.array_desc_length,
ib_array->ar_desc.array_desc_scale,
- flag) == FAILURE){
+ flag TSRMLS_CC) == FAILURE){
return FAILURE;
}
/* FIXME ??? */
case SQL_TYPE_DATE:
case SQL_TYPE_TIME:
#endif
- _php_ibase_var_pval(tmp, var->sqldata, var->sqltype, var->sqllen, var->sqlscale, flag);
+ _php_ibase_var_pval(tmp, var->sqldata, var->sqltype, var->sqllen, var->sqlscale, flag TSRMLS_CC);
break;
case SQL_BLOB:
if (flag & PHP_IBASE_TEXT) { /* text ? */
}
tmp_ptr = ar_data; /* avoid changes in _arr_pval */
- if (_php_ibase_arr_pval(tmp, &tmp_ptr, ib_array, 0, flag) == FAILURE) {
+ if (_php_ibase_arr_pval(tmp, &tmp_ptr, ib_array, 0, flag TSRMLS_CC) == FAILURE) {
RETURN_FALSE;
}
efree(ar_data);
if (sql_row[field_offset]) {
if (PG(magic_quotes_runtime)) {
- return_value->value.str.val = php_addslashes(sql_row[field_offset],0,&return_value->value.str.len,0);
+ return_value->value.str.val = php_addslashes(sql_row[field_offset],0,&return_value->value.str.len,0 TSRMLS_CC);
} else {
return_value->value.str.len = (sql_row[field_offset]?strlen(sql_row[field_offset]):0);
return_value->value.str.val = (char *) safe_estrndup(sql_row[field_offset],return_value->value.str.len);
int should_copy;
if (PG(magic_quotes_runtime)) {
- data = php_addslashes(msql_row[i], 0, &data_len, 0);
+ data = php_addslashes(msql_row[i], 0, &data_len, 0 TSRMLS_CC);
should_copy = 0;
} else {
data = msql_row[i];
if (Z_TYPE(result->data[result->cur_row][i]) == IS_STRING) {
if (PG(magic_quotes_runtime)) {
- data = php_addslashes(Z_STRVAL(result->data[result->cur_row][i]), Z_STRLEN(result->data[result->cur_row][i]), &result->data[result->cur_row][i].value.str.len, 1);
+ data = php_addslashes(Z_STRVAL(result->data[result->cur_row][i]), Z_STRLEN(result->data[result->cur_row][i]), &result->data[result->cur_row][i].value.str.len, 1 TSRMLS_CC);
should_copy = 0;
}
else
return_value->type = IS_STRING;
if (PG(magic_quotes_runtime)) {
- return_value->value.str.val = php_addslashes(sql_row[field_offset], sql_row_lengths[field_offset],&return_value->value.str.len, 0);
+ return_value->value.str.val = php_addslashes(sql_row[field_offset], sql_row_lengths[field_offset],&return_value->value.str.len, 0 TSRMLS_CC);
} else {
return_value->value.str.len = sql_row_lengths[field_offset];
return_value->value.str.val = (char *) safe_estrndup(sql_row[field_offset], return_value->value.str.len);
int should_copy;
if (PG(magic_quotes_runtime)) {
- data = php_addslashes(mysql_row[i], mysql_row_lengths[i],&data_len, 0);
+ data = php_addslashes(mysql_row[i], mysql_row_lengths[i],&data_len, 0 TSRMLS_CC);
should_copy = 0;
} else {
data = mysql_row[i];
/* {{{ preg_do_eval
*/
static int preg_do_eval(char *eval_str, int eval_str_len, char *subject,
- int *offsets, int count, char **result)
+ int *offsets, int count, char **result TSRMLS_DC)
{
zval retval; /* Return value from evaluation */
char *eval_str_end, /* End of eval string */
int backref; /* Current backref */
char *compiled_string_description;
smart_str code = {0};
- TSRMLS_FETCH();
eval_str_end = eval_str + eval_str_len;
walk = segment = eval_str;
match = subject + offsets[backref<<1];
match_len = offsets[(backref<<1)+1] - offsets[backref<<1];
if (match_len)
- esc_match = php_addslashes(match, match_len, &esc_match_len, 0);
+ esc_match = php_addslashes(match, match_len, &esc_match_len, 0 TSRMLS_CC);
else {
esc_match = match;
esc_match_len = 0;
char *php_pcre_replace(char *regex, int regex_len,
char *subject, int subject_len,
zval *replace_val, int is_callable_replace,
- int *result_len, int limit)
+ int *result_len, int limit TSRMLS_DC)
{
pcre *re = NULL; /* Compiled regular expression */
pcre_extra *extra = NULL; /* Holds results of studying */
/* If evaluating, do it and add the return string's length */
if (eval) {
eval_result_len = preg_do_eval(replace, replace_len, subject,
- offsets, count, &eval_result);
+ offsets, count, &eval_result TSRMLS_CC);
new_len += eval_result_len;
} else if (is_callable_replace) {
/* Use custom function to get replacement string and its length. */
/* {{{ php_replace_in_subject
*/
-static char *php_replace_in_subject(zval *regex, zval *replace, zval **subject, int *result_len, int limit, zend_bool is_callable_replace)
+static char *php_replace_in_subject(zval *regex, zval *replace, zval **subject, int *result_len, int limit, zend_bool is_callable_replace TSRMLS_DC)
{
zval **regex_entry,
**replace_entry = NULL,
replace_value,
is_callable_replace,
result_len,
- limit)) != NULL) {
+ limit TSRMLS_CC)) != NULL) {
efree(subject_value);
subject_value = result;
subject_len = *result_len;
replace,
is_callable_replace,
result_len,
- limit);
+ limit TSRMLS_CC);
return result;
}
}
/* For each subject entry, convert it to string, then perform replacement
and add the result to the return_value array. */
while (zend_hash_get_current_data(Z_ARRVAL_PP(subject), (void **)&subject_entry) == SUCCESS) {
- if ((result = php_replace_in_subject(*regex, *replace, subject_entry, &result_len, limit_val, is_callable_replace)) != NULL) {
+ if ((result = php_replace_in_subject(*regex, *replace, subject_entry, &result_len, limit_val, is_callable_replace TSRMLS_CC)) != NULL) {
/* Add to return array */
switch(zend_hash_get_current_key(Z_ARRVAL_PP(subject), &string_key, &num_key, 0))
{
}
}
else { /* if subject is not an array */
- if ((result = php_replace_in_subject(*regex, *replace, subject, &result_len, limit_val, is_callable_replace)) != NULL) {
+ if ((result = php_replace_in_subject(*regex, *replace, subject, &result_len, limit_val, is_callable_replace TSRMLS_CC)) != NULL) {
RETVAL_STRINGL(result, result_len, 0);
}
}
int should_copy=0;
if (PG(magic_quotes_runtime)) {
- data = php_addslashes(element, element_len, &data_len, 0);
+ data = php_addslashes(element, element_len, &data_len, 0 TSRMLS_CC);
} else {
data = safe_estrndup(element, element_len);
data_len = element_len;
gettimeofday(&tv, NULL);
PHP_MD5Init(&context);
- sprintf(buf, "%ld%ld%0.8f", tv.tv_sec, tv.tv_usec, php_combined_lcg() * 10);
+ sprintf(buf, "%ld%ld%0.8f", tv.tv_sec, tv.tv_usec, php_combined_lcg(TSRMLS_C) * 10);
PHP_MD5Update(&context, buf, strlen(buf));
if (PS(entropy_length) > 0) {
if (PS(mod_data) && PS(gc_probability) > 0) {
int nrdels = -1;
- nrand = (int) (100.0*php_combined_lcg());
+ nrand = (int) (100.0*php_combined_lcg(TSRMLS_C));
if (nrand < PS(gc_probability)) {
PS(mod)->gc(&PS(mod_data), PS(gc_maxlifetime), &nrdels);
#if 0
return SUCCESS;
}
-static void set_compare_func(int sort_type)
+static void set_compare_func(int sort_type TSRMLS_DC)
{
- TSRMLS_FETCH();
-
switch (sort_type) {
case SORT_NUMERIC:
ARRAYG(compare_func) = numeric_compare_function;
convert_to_long_ex(sort_type);
sort_type_val = Z_LVAL_PP(sort_type);
}
- set_compare_func(sort_type_val);
+ set_compare_func(sort_type_val TSRMLS_CC);
if (zend_hash_sort(target_hash, qsort, array_reverse_key_compare, 0) == FAILURE) {
return;
}
convert_to_long_ex(sort_type);
sort_type_val = Z_LVAL_PP(sort_type);
}
- set_compare_func(sort_type_val);
+ set_compare_func(sort_type_val TSRMLS_CC);
if (zend_hash_sort(target_hash, qsort, array_key_compare,0) == FAILURE) {
return;
}
convert_to_long_ex(sort_type);
sort_type_val = Z_LVAL_PP(sort_type);
}
- set_compare_func(sort_type_val);
+ set_compare_func(sort_type_val TSRMLS_CC);
if (zend_hash_sort(target_hash, qsort, array_data_compare,0) == FAILURE) {
return;
}
convert_to_long_ex(sort_type);
sort_type_val = Z_LVAL_PP(sort_type);
}
- set_compare_func(sort_type_val);
+ set_compare_func(sort_type_val TSRMLS_CC);
if (zend_hash_sort(target_hash, qsort, array_reverse_data_compare,0) == FAILURE) {
RETURN_FALSE;
}
convert_to_long_ex(sort_type);
sort_type_val = Z_LVAL_PP(sort_type);
}
- set_compare_func(sort_type_val);
+ set_compare_func(sort_type_val TSRMLS_CC);
if (zend_hash_sort(target_hash, qsort, array_data_compare,1) == FAILURE) {
RETURN_FALSE;
}
convert_to_long_ex(sort_type);
sort_type_val = Z_LVAL_PP(sort_type);
}
- set_compare_func(sort_type_val);
+ set_compare_func(sort_type_val TSRMLS_CC);
if (zend_hash_sort(target_hash, qsort, array_reverse_data_compare,1) == FAILURE) {
RETURN_FALSE;
}
php_error(E_WARNING, "min: must be passed at least 1 value");
RETURN_NULL();
}
- set_compare_func(SORT_REGULAR);
+ set_compare_func(SORT_REGULAR TSRMLS_CC);
if (argc == 1) {
pval **arr;
php_error(E_WARNING, "max: must be passed at least 1 value");
RETURN_NULL();
}
- set_compare_func(SORT_REGULAR);
+ set_compare_func(SORT_REGULAR TSRMLS_CC);
if (argc == 1) {
pval **arr;
}
/* }}} */
-static int php_array_walk(HashTable *target_hash, zval **userdata)
+static int php_array_walk(HashTable *target_hash, zval **userdata TSRMLS_DC)
{
zval **args[3], /* Arguments to userland function */
*retval_ptr, /* Return value - unused */
ulong string_key_len;
ulong num_key;
HashPosition pos;
- TSRMLS_FETCH();
/* Allocate space for key */
MAKE_STD_ZVAL(key);
BG(array_walk_func_name) = old_walk_func_name;
RETURN_FALSE;
}
- php_array_walk(target_hash, userdata);
+ php_array_walk(target_hash, userdata TSRMLS_CC);
BG(array_walk_func_name) = old_walk_func_name;
RETURN_TRUE;
}
for (i = 0, p = target_hash->pListHead; p; i++, p = p->pListNext)
arTmp[i] = p;
arTmp[i] = NULL;
- set_compare_func(SORT_STRING);
+ set_compare_func(SORT_STRING TSRMLS_CC);
qsort((void *) arTmp, i, sizeof(Bucket *), array_data_compare);
/* go through the sorted array and delete duplicates from the copy */
/* for each argument, create and sort list with pointers to the hash buckets */
lists = (Bucket ***)emalloc(argc * sizeof(Bucket **));
ptrs = (Bucket ***)emalloc(argc * sizeof(Bucket **));
- set_compare_func(SORT_STRING);
+ set_compare_func(SORT_STRING TSRMLS_CC);
for (i=0; i<argc; i++) {
if (Z_TYPE_PP(args[i]) != IS_ARRAY) {
php_error(E_WARNING, "Argument #%d to array_intersect() is not an array", i+1);
/* for each argument, create and sort list with pointers to the hash buckets */
lists = (Bucket ***)emalloc(argc * sizeof(Bucket **));
ptrs = (Bucket ***)emalloc(argc * sizeof(Bucket **));
- set_compare_func(SORT_STRING);
+ set_compare_func(SORT_STRING TSRMLS_CC);
for (i=0; i<argc; i++) {
if (Z_TYPE_PP(args[i]) != IS_ARRAY) {
php_error(E_WARNING, "Argument #%d to array_diff() is not an array", i+1);
r = 0;
do {
- set_compare_func(ARRAYG(multisort_flags)[MULTISORT_TYPE][r]);
+ set_compare_func(ARRAYG(multisort_flags)[MULTISORT_TYPE][r] TSRMLS_CC);
ARRAYG(compare_func)(&temp, *((zval **)ab[r]->pData), *((zval **)bb[r]->pData) TSRMLS_CC);
result = ARRAYG(multisort_flags)[MULTISORT_ORDER][r] * Z_LVAL(temp);
PHP_RINIT_FUNCTION(crypt)
{
if(!php_crypt_rand_seeded) {
- php_srand(time(0) * getpid() * (php_combined_lcg() * 10000.0));
+ php_srand(time(0) * getpid() * (php_combined_lcg(TSRMLS_C) * 10000.0));
php_crypt_rand_seeded=1;
}
return SUCCESS;
if (PG(magic_quotes_runtime)) {
int len;
- tmp = php_addslashes(buf, 0, &len, 0);
+ tmp = php_addslashes(buf, 0, &len, 0 TSRMLS_CC);
RETVAL_STRINGL(tmp,len,0);
} else {
RETVAL_STRINGL(buf,l,1);
} else if (saw_content) {
/* Get the CONTENT attr (Single word attr, non-quoted) */
if (PG(magic_quotes_runtime)) {
- value = php_addslashes(md.token_data,0,&md.token_len,0);
+ value = php_addslashes(md.token_data,0,&md.token_len,0 TSRMLS_CC);
} else {
value = estrndup(md.token_data,md.token_len);
}
} else if (saw_content) {
/* Get the CONTENT attr (Single word attr, non-quoted) */
if (PG(magic_quotes_runtime)) {
- value = php_addslashes(md.token_data,0,&md.token_len,0);
+ value = php_addslashes(md.token_data,0,&md.token_len,0 TSRMLS_CC);
} else {
value = estrndup(md.token_data,md.token_len);
}
}
}
if (PG(magic_quotes_runtime)) {
- slashed = php_addslashes(target_buf, target_len, &len, 1); /* 1 = free source string */
+ slashed = php_addslashes(target_buf, target_len, &len, 1 TSRMLS_CC); /* 1 = free source string */
add_index_stringl(return_value, i++, slashed, len, 0);
} else {
target_buf = erealloc(target_buf, target_len+1); /* do we really want to do that? */
}
if (PG(magic_quotes_runtime)) {
- return_value->value.str.val = php_addslashes(buf,0,&return_value->value.str.len,1);
+ return_value->value.str.val = php_addslashes(buf,0,&return_value->value.str.len,1 TSRMLS_CC);
} else {
return_value->value.str.val = buf;
return_value->value.str.len = strlen(return_value->value.str.val);
if (!arg3 && PG(magic_quotes_runtime)) {
zval_copy_ctor(*arg2);
- php_stripslashes((*arg2)->value.str.val,&num_bytes);
+ php_stripslashes(Z_STRVAL_PP(arg2), &num_bytes TSRMLS_CC);
}
#if HAVE_PHP_STREAM
len = sbuf.st_size - off;
p = mmap(0, len, PROT_READ, MAP_SHARED, fd, off);
if (p != (void *) MAP_FAILED) {
- TSRMLS_FETCH();
-
BG(mmap_file) = p;
BG(mmap_len) = len;
PHPWRITE(p, len);
}
return_value->value.str.val[return_value->value.str.len] = 0;
if (PG(magic_quotes_runtime)) {
- return_value->value.str.val = php_addslashes(return_value->value.str.val,return_value->value.str.len,&return_value->value.str.len,1);
+ return_value->value.str.val = php_addslashes(return_value->value.str.val,return_value->value.str.len,&return_value->value.str.len,1 TSRMLS_CC);
}
return_value->type = IS_STRING;
}
#define MODMULT(a,b,c,m,s) q = s/a;s=b*(s-a*q)-c*q;if(s<0)s+=m
-double php_combined_lcg(void)
+double php_combined_lcg(TSRMLS_D)
{
php_int32 q;
php_int32 z;
- TSRMLS_FETCH();
MODMULT(53668,40014,12211,2147483563L, LCG(s1));
MODMULT(52774,40692,3791, 2147483399L, LCG(s2));
Returns a value from the combined linear congruential generator */
PHP_FUNCTION(lcg_value)
{
- RETURN_DOUBLE(php_combined_lcg());
+ RETURN_DOUBLE(php_combined_lcg(TSRMLS_C));
}
/* }}} */
php_int32 s2;
} php_lcg_globals;
-double php_combined_lcg(void);
+double php_combined_lcg(TSRMLS_D);
PHP_FUNCTION(lcg_value);
#ifdef ZTS
PHPAPI char *php_strtoupper(char *s, size_t len);
PHPAPI char *php_strtolower(char *s, size_t len);
PHPAPI char *php_strtr(char *str, int len, char *str_from, char *str_to, int trlen);
-PHPAPI char *php_addslashes(char *str, int length, int *new_length, int freeit);
-PHPAPI char *php_addcslashes(char *str, int length, int *new_length, int freeit, char *what, int wlength);
-PHPAPI void php_stripslashes(char *str, int *len);
+PHPAPI char *php_addslashes(char *str, int length, int *new_length, int freeit TSRMLS_DC);
+PHPAPI char *php_addcslashes(char *str, int length, int *new_length, int freeit, char *what, int wlength TSRMLS_DC);
+PHPAPI void php_stripslashes(char *str, int *len TSRMLS_DC);
PHPAPI void php_stripcslashes(char *str, int *len);
PHPAPI char *php_basename(char *str, size_t len ,char *suffix, size_t sufflen);
PHPAPI void php_dirname(char *str, int len);
PHPAPI char *php_stristr(unsigned char *s, unsigned char *t, size_t s_len, size_t t_len);
PHPAPI char *php_str_to_str(char *haystack, int length, char *needle,
int needle_len, char *str, int str_len, int *_new_length);
-PHPAPI void php_trim(pval *str, pval *return_value, int mode);
-PHPAPI void php_trim2(zval *str, zval *what, zval *return_value, int mode);
+PHPAPI void php_trim(pval *str, pval *return_value, int mode TSRMLS_DC);
+PHPAPI void php_trim2(zval *str, zval *what, zval *return_value, int mode TSRMLS_DC);
PHPAPI void php_strip_tags(char *rbuf, int len, int state, char *allow, int allow_len);
PHPAPI void php_char_to_str(char *str, uint len, char from, char *to, int to_len, pval *result);
/* {{{ 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
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;
/* 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);
}
/* }}} */
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);
}
/* }}} */
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);
}
/* }}} */
/* {{{ 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='\'';
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;
}
/* }}} */
}
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;
}
/* }}} */
*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);
}
/* }}} */
/* {{{ 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;
/* {{{ 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;
* digits for usecs.
*/
if (MORE_ENTROPY) {
- sprintf(uniqid, "%s%08x%05x%.8f", (*prefix)->value.str.val, sec, usec, php_combined_lcg() * 10);
+ sprintf(uniqid, "%s%08x%05x%.8f", (*prefix)->value.str.val, sec, usec, php_combined_lcg(TSRMLS_C) * 10);
} else {
sprintf(uniqid, "%s%08x%05x", (*prefix)->value.str.val, sec, usec);
}
convert_to_string(cur_value);
if (PG(magic_quotes_runtime)) {
- cur_value->value.str.val = php_addslashes(cur_value->value.str.val, cur_value->value.str.len, &cur_value->value.str.len,0);
+ cur_value->value.str.val = php_addslashes(cur_value->value.str.val, cur_value->value.str.len, &cur_value->value.str.len,0 TSRMLS_CC);
}
}
}
*tmp = result->data[result->cur_row][i];
INIT_PZVAL(tmp);
if (PG(magic_quotes_runtime) && tmp->type == IS_STRING) {
- tmp->value.str.val = php_addslashes(tmp->value.str.val, tmp->value.str.len, &tmp->value.str.len, 0);
+ tmp->value.str.val = php_addslashes(tmp->value.str.val, tmp->value.str.len, &tmp->value.str.len, 0 TSRMLS_CC);
} else {
pval_copy_constructor(tmp);
}
if (PG(magic_quotes_runtime)) {
int len;
- slashed = php_addslashes(buf,0,&len,0); /* 0 = don't free source string */
+ slashed = php_addslashes(buf,0,&len,0 TSRMLS_CC); /* 0 = don't free source string */
add_index_stringl(return_value, i++, slashed, len, 0);
} else {
add_index_string(return_value, i++, buf, 1);
RETVAL_FALSE;
} else {
if (PG(magic_quotes_runtime)) {
- return_value->value.str.val = php_addslashes(buf,0,&return_value->value.str.len,1);
+ return_value->value.str.val = php_addslashes(buf,0,&return_value->value.str.len,1 TSRMLS_CC);
} else {
return_value->value.str.val = buf;
return_value->value.str.len = strlen(return_value->value.str.val);
/* strip slashes only if the length wasn't specified explicitly */
if (!arg3 && PG(magic_quotes_runtime)) {
- php_stripslashes((*arg2)->value.str.val,&num_bytes);
+ php_stripslashes(Z_STRVAL_PP(arg2), &num_bytes TSRMLS_CC);
}
ret = gzwrite(zp, (*arg2)->value.str.val,num_bytes);
return_value->value.str.val[return_value->value.str.len] = 0;
if (PG(magic_quotes_runtime)) {
- return_value->value.str.val = php_addslashes(return_value->value.str.val,return_value->value.str.len,&return_value->value.str.len,1);
+ return_value->value.str.val = php_addslashes(return_value->value.str.val,return_value->value.str.len,&return_value->value.str.len,1 TSRMLS_CC);
}
return_value->type = IS_STRING;
}
/* Prepare value */
new_entry.value.str.len = str_len;
if (PG(magic_quotes_gpc)) {
- new_entry.value.str.val = php_addslashes(strval, new_entry.value.str.len, &new_entry.value.str.len, 0);
+ new_entry.value.str.val = php_addslashes(strval, new_entry.value.str.len, &new_entry.value.str.len, 0 TSRMLS_CC);
} else {
new_entry.value.str.val = estrndup(strval, new_entry.value.str.len);
}
} else {
if (PG(magic_quotes_gpc) && (index!=var)) {
/* no need to addslashes() the index if it's the main variable name */
- escaped_index = php_addslashes(index, index_len, &index_len, 0);
+ escaped_index = php_addslashes(index, index_len, &index_len, 0 TSRMLS_CC);
} else {
escaped_index = index;
}