length = -1;
} else if (!Z_ISUNDEF(retval)) {
_php_curl_verify_handlers(ch, 1);
- if (Z_TYPE(retval) != IS_LONG) {
- convert_to_long_ex(&retval);
- }
- length = Z_LVAL(retval);
+ length = zval_get_long(&retval);
}
zval_ptr_dtor(&argv[0]);
php_error_docref(NULL, E_WARNING, "Cannot call the CURLOPT_FNMATCH_FUNCTION");
} else if (!Z_ISUNDEF(retval)) {
_php_curl_verify_handlers(ch, 1);
- if (Z_TYPE(retval) != IS_LONG) {
- convert_to_long_ex(&retval);
- }
- rval = Z_LVAL(retval);
+ rval = zval_get_long(&retval);
}
zval_ptr_dtor(&argv[0]);
zval_ptr_dtor(&argv[1]);
php_error_docref(NULL, E_WARNING, "Cannot call the CURLOPT_PROGRESSFUNCTION");
} else if (!Z_ISUNDEF(retval)) {
_php_curl_verify_handlers(ch, 1);
- if (Z_TYPE(retval) != IS_LONG) {
- convert_to_long_ex(&retval);
- }
- if (0 != Z_LVAL(retval)) {
+ if (0 != zval_get_long(&retval)) {
rval = 1;
}
}
length = -1;
} else if (!Z_ISUNDEF(retval)) {
_php_curl_verify_handlers(ch, 1);
- if (Z_TYPE(retval) != IS_LONG) {
- convert_to_long_ex(&retval);
- }
- length = Z_LVAL(retval);
+ length = zval_get_long(&retval);
}
zval_ptr_dtor(&argv[0]);
zval_ptr_dtor(&argv[1]);
{
zval *current;
HashTable *ph;
+ zend_string *val;
struct curl_slist *slist = NULL;
ph = HASH_OF(zvalue);
}
ZEND_HASH_FOREACH_VAL(ph, current) {
- SEPARATE_ZVAL(current);
- convert_to_string_ex(current);
-
- slist = curl_slist_append(slist, Z_STRVAL_P(current));
+ val = zval_get_string(current);
+ slist = curl_slist_append(slist, val->val);
+ zend_string_release(val);
if (!slist) {
php_error_docref(NULL, E_WARNING, "Could not build curl_slist");
return 1;
}
ZEND_HASH_FOREACH_KEY_VAL(postfields, num_key, string_key, current) {
- char *postval;
+ zend_string *postval;
/* Pretend we have a string_key here */
if (!string_key) {
string_key = zend_long_to_str(num_key);
if (Z_TYPE_P(prop) != IS_STRING) {
php_error_docref(NULL, E_WARNING, "Invalid filename for key %s", string_key->val);
} else {
- postval = Z_STRVAL_P(prop);
+ postval = Z_STR_P(prop);
- if (php_check_open_basedir(postval)) {
+ if (php_check_open_basedir(postval->val)) {
return 1;
}
form_error = curl_formadd(&first, &last,
CURLFORM_COPYNAME, string_key->val,
CURLFORM_NAMELENGTH, string_key->len,
- CURLFORM_FILENAME, filename ? filename : postval,
+ CURLFORM_FILENAME, filename ? filename : postval->val,
CURLFORM_CONTENTTYPE, type ? type : "application/octet-stream",
- CURLFORM_FILE, postval,
+ CURLFORM_FILE, postval->val,
CURLFORM_END);
if (form_error != CURL_FORMADD_OK) {
/* Not nice to convert between enums but we only have place for one error type */
continue;
}
- SEPARATE_ZVAL(current);
- convert_to_string_ex(current);
-
- postval = Z_STRVAL_P(current);
+ postval = zval_get_string(current);
/* The arguments after _NAMELENGTH and _CONTENTSLENGTH
* must be explicitly cast to long in curl_formadd
form_error = curl_formadd(&first, &last,
CURLFORM_COPYNAME, string_key->val,
CURLFORM_NAMELENGTH, (zend_long)string_key->len,
- CURLFORM_COPYCONTENTS, postval,
+ CURLFORM_COPYCONTENTS, postval->val,
CURLFORM_CONTENTSLENGTH, (zend_long)Z_STRLEN_P(current),
CURLFORM_END);
/* Not nice to convert between enums but we only have place for one error type */
error = (CURLcode)form_error;
}
+ zend_string_release(postval);
zend_string_release(string_key);
} ZEND_HASH_FOREACH_END();