]> granicus.if.org Git - php/commitdiff
revert removal of zend_parse_parameters and properly use
authorSterling Hughes <sterling@php.net>
Fri, 12 Oct 2001 19:16:39 +0000 (19:16 +0000)
committerSterling Hughes <sterling@php.net>
Fri, 12 Oct 2001 19:16:39 +0000 (19:16 +0000)
zend_parse_parameters (ie zval * instead of zval **).

ext/zip/zip.c

index 800bbae1e286a293cb5e7ae99be6e1e2eae57e8f..da078ccaaad69d7153e98bbe05700db0083411fb 100644 (file)
@@ -142,15 +142,15 @@ PHP_FUNCTION(zip_open)
    Returns the next file in the archive */
 PHP_FUNCTION(zip_read)
 {
-       zval            **zzip_dp;
+       zval             *zzip_dp;
        ZZIP_DIR         *archive_p = NULL;
        php_zzip_dirent  *entry = NULL;
        int               ret;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zzip_dp) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zzip_dp) == FAILURE) {
+               return;
        }
-       ZEND_FETCH_RESOURCE(archive_p, ZZIP_DIR *, zzip_dp, -1, le_zip_dir_name, le_zip_dir);
+       ZEND_FETCH_RESOURCE(archive_p, ZZIP_DIR *, &zzip_dp, -1, le_zip_dir_name, le_zip_dir);
 
        entry = emalloc(sizeof(php_zzip_dirent));
        ret = zzip_dir_read(archive_p, &entry->dirent);
@@ -168,14 +168,13 @@ PHP_FUNCTION(zip_read)
    Close a Zip archive */
 PHP_FUNCTION(zip_close)
 {
-       zval     **zzip_dp;
+       zval      *zzip_dp;
        ZZIP_DIR  *archive_p = NULL;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zzip_dp) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zzip_dp) == FAILURE) {
+               return;
        }
-
-       ZEND_FETCH_RESOURCE(archive_p, ZZIP_DIR *, zzip_dp, -1, le_zip_dir_name, le_zip_dir);
+       ZEND_FETCH_RESOURCE(archive_p, ZZIP_DIR *, &zzip_dp, -1, le_zip_dir_name, le_zip_dir);
 
        zend_list_delete(Z_LVAL_PP(zzip_dp));
 }
@@ -185,13 +184,13 @@ PHP_FUNCTION(zip_close)
  */
 static void php_zzip_get_entry(INTERNAL_FUNCTION_PARAMETERS, int opt)
 {
-       zval            **zzip_ent;
+       zval             *zzip_ent;
        php_zzip_dirent  *entry = NULL;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &zzip_ent) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zzip_ent) == FAILURE) {
+               return;
        }
-       ZEND_FETCH_RESOURCE(entry, php_zzip_dirent *, zzip_ent, -1, le_zip_entry_name, le_zip_entry);
+       ZEND_FETCH_RESOURCE(entry, php_zzip_dirent *, &zzip_ent, -1, le_zip_entry_name, le_zip_entry);
 
        switch (opt) {
        case 0:
@@ -207,6 +206,7 @@ static void php_zzip_get_entry(INTERNAL_FUNCTION_PARAMETERS, int opt)
                RETURN_STRING((char *) zzip_compr_str(entry->dirent.d_compr), 1);
                break;
        }
+
 }
 /* }}} */
 
@@ -242,50 +242,41 @@ PHP_FUNCTION(zip_entry_compressionmethod)
 }
 /* }}} */
 
-/* {{{ proto bool zip_entry_open(resource zip_dp, resource zip_entry[, string mode])
+/* {{{ proto bool zip_entry_open(resource zip_dp, resource zip_entry, string mode)
    Open a Zip File, pointed by the resource entry */
 PHP_FUNCTION(zip_entry_open)
 {
-       zval            **zzip_dp;
-       zval            **zzip_ent;
-       zval            **z_mode;
+       zval             *zzip_dp;
+       zval             *zzip_ent;
        ZZIP_DIR         *archive_p = NULL;
        php_zzip_dirent  *entry = NULL;
-       int               argc = ZEND_NUM_ARGS();
+       int               mode;
 
-       if (argc < 2 || argc > 3 ||
-               zend_get_parameters_ex(argc, &zzip_dp, &zzip_ent, &mode) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-       ZEND_FETCH_RESOURCE(archive_p, ZZIP_DIR *,        zzip_dp,  -1, le_zip_dir_name,   le_zip_dir);
-       ZEND_FETCH_RESOURCE(entry,     php_zzip_dirent *, zzip_ent, -1, le_zip_entry_name, le_zip_entry);
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr|l", &zzip_dp, &zzip_ent, &mode) == FAILURE)
+               return;
+       ZEND_FETCH_RESOURCE(archive_p, ZZIP_DIR *,        &zzip_dp,  -1, le_zip_dir_name,   le_zip_dir);
+       ZEND_FETCH_RESOURCE(entry,     php_zzip_dirent *, &zzip_ent, -1, le_zip_entry_name, le_zip_entry);
 
        entry->fp = zzip_file_open(archive_p, entry->dirent.d_name, O_RDONLY | O_BINARY);
+
        RETURN_BOOL(entry->fp);
 }
 /* }}} */
 
-/* {{{ proto string zip_read(resource zip_ent[, int len])
+/* {{{ proto string zip_read(resource zip_ent)
    Read X bytes from an opened zip entry */
 PHP_FUNCTION(zip_entry_read)
 {
-       zval             **zzip_ent;
-       zval             **z_len;
-       php_zzip_dirent   *entry = NULL;
-       char              *buf   = NULL;
-       int                len   = 1024;
-       int                ret   = 0;
-       int                argc  = ZEND_NUM_ARGS();
-
-       if (argc < 1 || argc > 2 ||
-               zend_get_parameters_ex(argc, &zzip_ent, &z_len) == FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-       ZEND_FETCH_RESOURCE(entry, php_zzip_dirent *, zzip_ent, -1, le_zip_entry_name, le_zip_entry);
+       zval             *zzip_ent;
+       php_zzip_dirent  *entry = NULL;
+       char             *buf   = NULL;
+       int               len   = 1024;
+       int               ret   = 0;
 
-       if (argc > 1) {
-               len = Z_LVAL_PP(z_len);
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &zzip_ent, &len) == FAILURE) {
+               return;
        }
+       ZEND_FETCH_RESOURCE(entry, php_zzip_dirent *, &zzip_ent, -1, le_zip_entry_name, le_zip_entry);
 
        buf = emalloc(len + 1);
        ret = zzip_read(entry->fp, buf, len);
@@ -301,16 +292,15 @@ PHP_FUNCTION(zip_entry_read)
    Close a zip entry */
 PHP_FUNCTION(zip_entry_close)
 {
-       zval            **zzip_ent;
+       zval             *zzip_ent;
        php_zzip_dirent  *entry = NULL;
 
-       if (ZEND_NUM_ARGS() != 1 ||
-               zend_get_parameters_ex(1, &zzip_ent) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zzip_ent) == FAILURE) {
+               return;
        }
-       ZEND_FETCH_RESOURCE(entry, php_zzip_dirent *, zzip_ent, -1, le_zip_entry_name, le_zip_entry);
+       ZEND_FETCH_RESOURCE(entry, php_zzip_dirent *, &zzip_ent, -1, le_zip_entry_name, le_zip_entry);
 
-       zend_list_delete(Z_LVAL_PP(zzip_ent));
+       zend_list_delete(Z_LVAL_P(zzip_ent));
 }
 /* }}} */