]> granicus.if.org Git - php/commitdiff
Convert to use new parameter parsing API.
authorAndrei Zmievski <andrei@php.net>
Fri, 19 Oct 2001 17:16:12 +0000 (17:16 +0000)
committerAndrei Zmievski <andrei@php.net>
Fri, 19 Oct 2001 17:16:12 +0000 (17:16 +0000)
ext/standard/url.c
ext/standard/versioning.c

index 25777c09ee1135069ee18d3ceeb53ddd64eeda1b..00694579cd905911ec265b0dd0344755860a4b5a 100644 (file)
@@ -163,17 +163,17 @@ PHPAPI php_url *php_url_parse(char *str)
    Parse a URL and return its components */
 PHP_FUNCTION(parse_url)
 {
-       zval **str;
+       char *str;
+       int str_len;
        php_url *resource;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &str) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) {
+               return;
        }
-       convert_to_string_ex(str);
 
-       resource = php_url_parse(Z_STRVAL_PP(str));
+       resource = php_url_parse(str);
        if (resource == NULL) {
-               php_error(E_WARNING, "unable to parse url (%s)", Z_STRVAL_PP(str));
+               php_error(E_WARNING, "unable to parse url (%s)", str);
                RETURN_FALSE;
        }
 
@@ -280,17 +280,16 @@ PHPAPI char *php_url_encode(char *s, int len, int *new_length)
    URL-encodes string */
 PHP_FUNCTION(urlencode)
 {
-       zval **arg;
-       char *str;
-       int str_len;
+       char *in_str, *out_str;
+       int in_str_len, out_str_len;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &in_str,
+                                                         &in_str_len) == FAILURE) {
+               return;
        }
-       convert_to_string_ex(arg);
 
-       str = php_url_encode(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg), &str_len);
-       RETURN_STRINGL(str, str_len, 0);
+       out_str = php_url_encode(in_str, in_str_len, &out_str_len);
+       RETURN_STRINGL(out_str, out_str_len, 0);
 }
 /* }}} */
 
@@ -298,19 +297,18 @@ PHP_FUNCTION(urlencode)
    Decodes URL-encoded string */
 PHP_FUNCTION(urldecode)
 {
-       zval **arg;
-       char  *str;
-       int len;
+       char *in_str, *out_str;
+       int in_str_len, out_str_len;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &in_str,
+                                                         &in_str_len) == FAILURE) {
+               return;
        }
-       convert_to_string_ex(arg);
 
-       str = estrndup(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg)); 
-       len = php_url_decode(str, Z_STRLEN_PP(arg));
+       out_str = estrndup(in_str, in_str_len);
+       out_str_len = php_url_decode(out_str, in_str_len);
 
-    RETURN_STRINGL(str, len, 0);
+    RETURN_STRINGL(out_str, out_str_len, 0);
 }
 /* }}} */
 
@@ -380,17 +378,16 @@ PHPAPI char *php_raw_url_encode(char *s, int len, int *new_length)
    URL-encodes string */
 PHP_FUNCTION(rawurlencode)
 {
-       zval **arg;
-       char *str;
-       int new_len;
+       char *in_str, *out_str;
+       int in_str_len, out_str_len;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &in_str,
+                                                         &in_str_len) == FAILURE) {
+               return;
        }
-       convert_to_string_ex(arg);
 
-       str = php_raw_url_encode(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg), &new_len);
-       RETURN_STRINGL(str, new_len, 0);
+       out_str = php_raw_url_encode(in_str, in_str_len, &out_str_len);
+       RETURN_STRINGL(out_str, out_str_len, 0);
 }
 /* }}} */
 
@@ -398,19 +395,18 @@ PHP_FUNCTION(rawurlencode)
    Decodes URL-encodes string */
 PHP_FUNCTION(rawurldecode)
 {
-       zval **arg;
-       int len;
-       char *str;
+       char *in_str, *out_str;
+       int in_str_len, out_str_len;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &in_str,
+                                                         &in_str_len) == FAILURE) {
+               return;
        }
-       convert_to_string_ex(arg);
 
-       str = estrndup(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg));
-       len = php_raw_url_decode(str, Z_STRLEN_PP(arg));
+       out_str = estrndup(in_str, in_str_len);
+       out_str_len = php_raw_url_decode(out_str, in_str_len);
 
-       RETURN_STRINGL(str, len, 0);
+    RETURN_STRINGL(out_str, out_str_len, 0);
 }
 /* }}} */
 
index e03c5eaa1bb8e003d6613a888402b7dbb64bd3ae..5d58d4d670f3df3a11c637e6c15601ff597e66b8 100644 (file)
@@ -34,7 +34,7 @@
 PHPAPI char *
 php_canonicalize_version(const char *version)
 {
-    int len = strlen(version), in_number = 0;
+    int len = strlen(version);
     char *buf = emalloc(len * 2 + 1), *q, lp, lq;
     const char *p;
 
@@ -175,22 +175,19 @@ php_version_compare(const char *orig_ver1, const char *orig_ver2)
 
 PHP_FUNCTION(version_compare)
 {
-    zval **v1, **v2, **oper;
+       char *v1, *v2, *op;
+       int v1_len, v2_len, op_len;
        int compare, argc;
-       char *op;
 
        argc = ZEND_NUM_ARGS();
-       if (argc < 2 || argc > 3 || zend_get_parameters_ex(argc, &v1, &v2, &oper) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(argc TSRMLS_CC, "ss|s", &v1, &v1_len, &v2,
+                                                         &v2_len, &op, &op_len) == FAILURE) {
+               return;
        }
-       convert_to_string_ex(v1);
-       convert_to_string_ex(v2);
-       compare = php_version_compare(Z_STRVAL_PP(v1), Z_STRVAL_PP(v2));
+       compare = php_version_compare(v1, v2);
        if (argc == 2) {
                RETURN_LONG(compare);
        }
-       convert_to_string_ex(oper);
-       op = Z_STRVAL_PP(oper);
        if (!strcmp(op, "<") || !strcmp(op, "lt")) {
                RETURN_LONG(compare == -1);
        }