]> granicus.if.org Git - php/commitdiff
Use new Zend API.
authorSascha Schumann <sas@php.net>
Fri, 24 Sep 1999 19:35:25 +0000 (19:35 +0000)
committerSascha Schumann <sas@php.net>
Fri, 24 Sep 1999 19:35:25 +0000 (19:35 +0000)
ext/standard/base64.c
ext/standard/crypt.c
ext/standard/link.c
ext/standard/md5.c
ext/standard/microtime.c
ext/standard/uniqid.c
ext/standard/url.c

index d0a565fde41f8a7978556321a485c189e09bd2eb..fcec86bbba72a6062da0401022829d29c493080a 100644 (file)
@@ -142,15 +142,15 @@ unsigned char *_php3_base64_decode(const unsigned char *string, int length, int
 /* {{{ proto string base64_encode(string str)
    Encodes string using MIME base64 algorithm */
 PHP_FUNCTION(base64_encode) {
-       pval *string;
+       pval **string;
        unsigned char *result;
        int ret_length;
 
-       if (ARG_COUNT(ht)!=1 || getParameters(ht,1,&string) == FAILURE) {
+       if (ARG_COUNT(ht)!=1 || getParametersEx(1,&string) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(string);
-       result = _php3_base64_encode(string->value.str.val, string->value.str.len, &ret_length);
+       convert_to_string_ex(string);
+       result = _php3_base64_encode((*string)->value.str.val, (*string)->value.str.len, &ret_length);
        if (result != NULL) {
                return_value->value.str.val = result;
                return_value->value.str.len = ret_length;
@@ -165,15 +165,15 @@ PHP_FUNCTION(base64_encode) {
 /* {{{ proto string base64_decode(string str)
    Decodes string using MIME base64 algorithm */
 PHP_FUNCTION(base64_decode) {
-       pval *string;
+       pval **string;
        unsigned char *result;
        int ret_length;
 
-       if (ARG_COUNT(ht)!=1 || getParameters(ht,1,&string) == FAILURE) {
+       if (ARG_COUNT(ht)!=1 || getParametersEx(1,&string) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(string);
-       result = _php3_base64_decode(string->value.str.val, string->value.str.len, &ret_length);
+       convert_to_string_ex(string);
+       result = _php3_base64_decode((*string)->value.str.val, (*string)->value.str.len, &ret_length);
        if (result != NULL) {
                return_value->value.str.val = result;
                return_value->value.str.len = ret_length;
index aa7109938295a6c0dae89b75b81e046ff2eefa73..35f3e8146624b571023169db333b3e74d1f9edc2 100644 (file)
@@ -120,7 +120,7 @@ static void php3i_to64(char *s, long v, int n)      {
 PHP_FUNCTION(crypt)
 {
        char salt[PHP3_MAX_SALT_LEN+1];
-       pval *arg1, *arg2;
+       pval **arg1, **arg2;
 
        salt[0]=salt[PHP3_MAX_SALT_LEN]='\0';
        /* This will produce suitable results if people depend on DES-encryption
@@ -129,22 +129,22 @@ PHP_FUNCTION(crypt)
 
        switch (ARG_COUNT(ht)) {
                case 1:
-                       if (getParameters(ht, 1, &arg1)==FAILURE) {
+                       if (getParametersEx(1, &arg1)==FAILURE) {
                                RETURN_FALSE;
                        }
                        break;
                case 2:
-                       if (getParameters(ht, 2, &arg1, &arg2)==FAILURE) {
+                       if (getParametersEx(2, &arg1, &arg2)==FAILURE) {
                                RETURN_FALSE;
                        }
-                       convert_to_string(arg2);
-                       memcpy(salt, arg2->value.str.val, MIN(PHP3_MAX_SALT_LEN,arg2->value.str.len));
+                       convert_to_string_ex(arg2);
+                       memcpy(salt, (*arg2)->value.str.val, MIN(PHP3_MAX_SALT_LEN,(*arg2)->value.str.len));
                        break;
                default:
                        WRONG_PARAM_COUNT;
                        break;
        }
-       convert_to_string(arg1);
+       convert_to_string_ex(arg1);
 
        /* The automatic salt generation only covers standard DES and md5-crypt */
        if(!*salt) {
@@ -171,7 +171,7 @@ PHP_FUNCTION(crypt)
 #endif
        }
 
-       return_value->value.str.val = (char *) crypt(arg1->value.str.val, salt);
+       return_value->value.str.val = (char *) crypt((*arg1)->value.str.val, salt);
        return_value->value.str.len = strlen(return_value->value.str.val);
        return_value->type = IS_STRING;
        pval_copy_constructor(return_value);
index 75e9bb297fdf6aa81948ac1a4d9d9e2015eddd01..b6071d4c09688546f2b87d651c433555dfb22d2a 100644 (file)
 PHP_FUNCTION(readlink)
 {
 #if HAVE_SYMLINK
-       pval *filename;
+       pval **filename;
        char buff[256];
        int ret;
 
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &filename) == FAILURE) {
+       if (ARG_COUNT(ht) != 1 || getParametersEx(1, &filename) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(filename);
+       convert_to_string_ex(filename);
 
-       ret = readlink(filename->value.str.val, buff, 255);
+       ret = readlink((*filename)->value.str.val, buff, 255);
        if (ret == -1) {
                php_error(E_WARNING, "readlink failed (%s)", strerror(errno));
                RETURN_FALSE;
@@ -79,16 +79,16 @@ PHP_FUNCTION(readlink)
 PHP_FUNCTION(linkinfo)
 {
 #if HAVE_SYMLINK
-       pval *filename;
+       pval **filename;
        struct stat sb;
        int ret;
 
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &filename) == FAILURE) {
+       if (ARG_COUNT(ht) != 1 || getParametersEx(1, &filename) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(filename);
+       convert_to_string_ex(filename);
 
-       ret = lstat(filename->value.str.val, &sb);
+       ret = lstat((*filename)->value.str.val, &sb);
        if (ret == -1) {
                php_error(E_WARNING, "LinkInfo failed (%s)", strerror(errno));
                RETURN_LONG(-1L);
@@ -103,21 +103,21 @@ PHP_FUNCTION(linkinfo)
 PHP_FUNCTION(symlink)
 {
 #if HAVE_SYMLINK
-       pval *topath, *frompath;
+       pval **topath, **frompath;
        int ret;
        PLS_FETCH();
 
-       if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &topath, &frompath) == FAILURE) {
+       if (ARG_COUNT(ht) != 2 || getParametersEx(2, &topath, &frompath) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(topath);
-       convert_to_string(frompath);
+       convert_to_string_ex(topath);
+       convert_to_string_ex(frompath);
 
-       if (PG(safe_mode) && !_php3_checkuid(topath->value.str.val, 2)) {
+       if (PG(safe_mode) && !_php3_checkuid((*topath)->value.str.val, 2)) {
                RETURN_FALSE;
        }
 
-       ret = symlink(topath->value.str.val, frompath->value.str.val);
+       ret = symlink((*topath)->value.str.val, (*frompath)->value.str.val);
        if (ret == -1) {
                php_error(E_WARNING, "SymLink failed (%s)", strerror(errno));
                RETURN_FALSE;
@@ -132,21 +132,21 @@ PHP_FUNCTION(symlink)
 PHP_FUNCTION(link)
 {
 #if HAVE_LINK
-       pval *topath, *frompath;
+       pval **topath, **frompath;
        int ret;
        PLS_FETCH();
 
-       if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &topath, &frompath) == FAILURE) {
+       if (ARG_COUNT(ht) != 2 || getParametersEx(2, &topath, &frompath) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(topath);
-       convert_to_string(frompath);
+       convert_to_string_ex(topath);
+       convert_to_string_ex(frompath);
 
-       if (PG(safe_mode) && !_php3_checkuid(topath->value.str.val, 2)) {
+       if (PG(safe_mode) && !_php3_checkuid((*topath)->value.str.val, 2)) {
                RETURN_FALSE;
        }
 
-       ret = link(topath->value.str.val, frompath->value.str.val);
+       ret = link((*topath)->value.str.val, (*frompath)->value.str.val);
        if (ret == -1) {
                php_error(E_WARNING, "Link failed (%s)", strerror(errno));
                RETURN_FALSE;
@@ -160,20 +160,20 @@ PHP_FUNCTION(link)
    Delete a file */
 PHP_FUNCTION(unlink)
 {
-       pval *filename;
+       pval **filename;
        int ret;
        PLS_FETCH();
        
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &filename) == FAILURE) {
+       if (ARG_COUNT(ht) != 1 || getParametersEx(1, &filename) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(filename);
+       convert_to_string_ex(filename);
 
-       if (PG(safe_mode) && !_php3_checkuid(filename->value.str.val, 2)) {
+       if (PG(safe_mode) && !_php3_checkuid((*filename)->value.str.val, 2)) {
                RETURN_FALSE;
        }
 
-       ret = unlink(filename->value.str.val);
+       ret = unlink((*filename)->value.str.val);
        if (ret == -1) {
                php_error(E_WARNING, "Unlink failed (%s)", strerror(errno));
                RETURN_FALSE;
index e26c010e45a4ebc4c2cc27abe05d86f44733fa9b..3396e261aff910e16b28573ecdbf998f5f291b6e 100644 (file)
    Calculate the md5 hash of a string */
 PHP_FUNCTION(md5)
 {
-       pval *arg;
+       pval **arg;
        char md5str[33];
        PHP3_MD5_CTX context;
        unsigned char digest[16];
        int i;
        char *r;
        
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
+       if (ARG_COUNT(ht) != 1 || getParametersEx(1, &arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(arg);
+       convert_to_string_ex(arg);
 
        md5str[0] = '\0';
        PHP3_MD5Init(&context);
-       PHP3_MD5Update(&context, arg->value.str.val, arg->value.str.len);
+       PHP3_MD5Update(&context, (*arg)->value.str.val, (*arg)->value.str.len);
        PHP3_MD5Final(digest, &context);
        for (i = 0, r = md5str; i < 16; i++, r += 2) {
                sprintf(r, "%02x", digest[i]);
index a492ae40183c69c47a720ffac4fa7bc5242ddb79..1eec292e187ac9e16862a005c448bdedcb5f83bf 100644 (file)
@@ -93,13 +93,13 @@ PHP_FUNCTION(getrusage)
 #if HAVE_GETRUSAGE
        struct rusage usg;
        int ac = ARG_COUNT(ht);
-       pval *pwho;
+       pval **pwho;
        int who = RUSAGE_SELF;
 
        if(ac == 1 &&
-               getParameters(ht, ac, &pwho) != FAILURE) {
-               convert_to_long(pwho);
-               if(pwho->value.lval == 1)
+               getParametersEx(ac, &pwho) != FAILURE) {
+               convert_to_long_ex(pwho);
+               if((*pwho)->value.lval == 1)
                        who = RUSAGE_CHILDREN;
        }
 
index 25fdd8fb3628bf7b9edd1aa64f7f4acac849939d..ced8f5c2a162023bb5cb091a7498ba0b5026ca76 100644 (file)
 #include "php_lcg.h"
 #include "uniqid.h"
 
+#define MORE_ENTROPY (argc == 2 && (*flags)->value.lval)
+
 /* {{{ proto string uniqid(string prefix, [bool more_entropy])
    Generate a unique id */
 PHP_FUNCTION(uniqid)
 {
 #ifdef HAVE_GETTIMEOFDAY
-       pval *prefix, *flags;
+       pval **prefix, **flags;
        char uniqid[138];
        int sec, usec, argc;
        struct timeval tv;
 
        argc = ARG_COUNT(ht);
-       if (argc < 1 || argc > 2 || getParameters(ht, argc, &prefix, &flags)) {
+       if (argc < 1 || argc > 2 || getParametersEx(argc, &prefix, &flags)) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(prefix);
+       convert_to_string_ex(prefix);
        if (argc == 2) {
-               convert_to_boolean(flags);
+               convert_to_boolean_ex(flags);
        }
 
        /* Do some bounds checking since we are using a char array. */
-       if (prefix->value.str.len > 114) {
+       if ((*prefix)->value.str.len > 114) {
                php_error(E_WARNING, "The prefix to uniqid should not be more than 114 characters.");
                return;
        }
 #if HAVE_USLEEP && !(WIN32|WINNT)
-       if (argc < 2 || !flags->value.lval) {
+       if (!MORE_ENTROPY) {
                usleep(1);
        }
 #endif
@@ -74,10 +76,10 @@ PHP_FUNCTION(uniqid)
        /* The max value usec can have is 0xF423F, so we use only five hex
         * digits for usecs.
         */
-       if (argc == 2 && flags->value.lval) {
-               sprintf(uniqid, "%s%08x%05x%.8f", prefix->value.str.val, sec, usec, php_combined_lcg() * 10);
+       if (MORE_ENTROPY) {
+               sprintf(uniqid, "%s%08x%05x%.8f", (*prefix)->value.str.val, sec, usec, php_combined_lcg() * 10);
        } else {
-               sprintf(uniqid, "%s%08x%05x", prefix->value.str.val, sec, usec);
+               sprintf(uniqid, "%s%08x%05x", (*prefix)->value.str.val, sec, usec);
        }
 
        RETURN_STRING(uniqid,1);
index 96a6ee2c4e51f2fa0b5d3723ddc88afdbd8472a4..9a6ab019a3a98a8274b6b9c1defc2c6b7242b425 100644 (file)
@@ -148,18 +148,18 @@ url *url_parse(char *string)
    Parse a URL and return its components */
 PHP_FUNCTION(parse_url)
 {
-       pval *string;
+       pval **string;
        url *resource;
 
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &string) == FAILURE) {
+       if (ARG_COUNT(ht) != 1 || getParametersEx(1, &string) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(string);
+       convert_to_string_ex(string);
 
-       resource = url_parse(string->value.str.val);
+       resource = url_parse((*string)->value.str.val);
 
        if (resource == NULL) {
-               php_error(E_WARNING, "unable to parse url (%s)", string->value.str.val);
+               php_error(E_WARNING, "unable to parse url (%s)", (*string)->value.str.val);
                RETURN_FALSE;
        }
        /* allocate an array for return */
@@ -256,19 +256,19 @@ char *_php3_urlencode(char *s, int len)
    URL-encodes string */
 PHP_FUNCTION(urlencode)
 {
-       pval *arg;
+       pval **arg;
        char *str;
 
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
+       if (ARG_COUNT(ht) != 1 || getParametersEx(1, &arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(arg);
+       convert_to_string_ex(arg);
 
-       if (!arg->value.str.len) {
+       if (!(*arg)->value.str.len) {
                var_reset(return_value);
                return;
        }
-       str = _php3_urlencode(arg->value.str.val, arg->value.str.len);
+       str = _php3_urlencode((*arg)->value.str.val, (*arg)->value.str.len);
        RETVAL_STRING(str, 1);
        efree(str);
 }
@@ -278,21 +278,21 @@ PHP_FUNCTION(urlencode)
    Decodes URL-encoded string */
 PHP_FUNCTION(urldecode)
 {
-       pval *arg;
+       pval **arg;
        int len;
 
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
+       if (ARG_COUNT(ht) != 1 || getParametersEx(1, &arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(arg);
+       convert_to_string_ex(arg);
 
-       if (!arg->value.str.len) {
+       if (!(*arg)->value.str.len) {
                var_reset(return_value);
                return;
        }
-       len = _php3_urldecode(arg->value.str.val, arg->value.str.len);
+       len = _php3_urldecode((*arg)->value.str.val, (*arg)->value.str.len);
 
-       RETVAL_STRINGL(arg->value.str.val, len, 1);
+       RETVAL_STRINGL((*arg)->value.str.val, len, 1);
 }
 /* }}} */
 
@@ -353,18 +353,18 @@ char *_php3_rawurlencode(char *s, int len)
    URL-encodes string */
 PHP_FUNCTION(rawurlencode)
 {
-       pval *arg;
+       pval **arg;
        char *str;
 
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
+       if (ARG_COUNT(ht) != 1 || getParametersEx(1, &arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(arg);
+       convert_to_string_ex(arg);
 
-       if (!arg->value.str.len) {
+       if (!(*arg)->value.str.len) {
                RETURN_FALSE;
        }
-       str = _php3_rawurlencode(arg->value.str.val, arg->value.str.len);
+       str = _php3_rawurlencode((*arg)->value.str.val, (*arg)->value.str.len);
        RETVAL_STRING(str, 1);
        efree(str);
 }
@@ -374,20 +374,20 @@ PHP_FUNCTION(rawurlencode)
    Decodes URL-encodes string */
 PHP_FUNCTION(rawurldecode)
 {
-       pval *arg;
+       pval **arg;
        int len;
 
-       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg) == FAILURE) {
+       if (ARG_COUNT(ht) != 1 || getParametersEx(1, &arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
-       convert_to_string(arg);
+       convert_to_string_ex(arg);
 
-       if (!arg->value.str.len) {
+       if (!(*arg)->value.str.len) {
                RETURN_FALSE;
        }
-       len = _php3_rawurldecode(arg->value.str.val, arg->value.str.len);
+       len = _php3_rawurldecode((*arg)->value.str.val, (*arg)->value.str.len);
 
-       RETVAL_STRINGL(arg->value.str.val, len, 1);
+       RETVAL_STRINGL((*arg)->value.str.val, len, 1);
 }
 /* }}} */