From be9b2a95adb504abd5acdc092d770444ad6f6854 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sat, 9 May 2015 23:13:06 -0700 Subject: [PATCH] Fixed bug #69418 - more s->p fixes for filenames --- ext/pcntl/pcntl.c | 74 +++++++++++++++++----------------- ext/standard/basic_functions.c | 24 +++++------ ext/standard/dir.c | 62 ++++++++++++++-------------- ext/standard/file.c | 10 ++--- 4 files changed, 85 insertions(+), 85 deletions(-) diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c index 7a8acafb5e..6189bdf5d6 100644 --- a/ext/pcntl/pcntl.c +++ b/ext/pcntl/pcntl.c @@ -198,7 +198,7 @@ ZEND_GET_MODULE(pcntl) static void pcntl_signal_handler(int); static void pcntl_signal_dispatch(); - + void php_register_signal_constants(INIT_FUNC_ARGS) { @@ -234,7 +234,7 @@ void php_register_signal_constants(INIT_FUNC_ARGS) REGISTER_LONG_CONSTANT("SIGTERM", (long) SIGTERM, CONST_CS | CONST_PERSISTENT); #ifdef SIGSTKFLT REGISTER_LONG_CONSTANT("SIGSTKFLT",(long) SIGSTKFLT, CONST_CS | CONST_PERSISTENT); -#endif +#endif #ifdef SIGCLD REGISTER_LONG_CONSTANT("SIGCLD", (long) SIGCLD, CONST_CS | CONST_PERSISTENT); #endif @@ -484,7 +484,7 @@ static void php_pcntl_register_errno_constants(INIT_FUNC_ARGS) } static PHP_GINIT_FUNCTION(pcntl) -{ +{ memset(pcntl_globals, 0, sizeof(*pcntl_globals)); } @@ -547,7 +547,7 @@ PHP_FUNCTION(pcntl_fork) PCNTL_G(last_error) = errno; php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error %d", errno); } - + RETURN_LONG((long) id); } /* }}} */ @@ -560,7 +560,7 @@ PHP_FUNCTION(pcntl_alarm) if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &seconds) == FAILURE) return; - + RETURN_LONG ((long) alarm(seconds)); } /* }}} */ @@ -576,7 +576,7 @@ PHP_FUNCTION(pcntl_waitpid) if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz|l", &pid, &z_status, &options) == FAILURE) return; - + convert_to_long_ex(&z_status); status = Z_LVAL_P(z_status); @@ -604,7 +604,7 @@ PHP_FUNCTION(pcntl_wait) if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|l", &z_status, &options) == FAILURE) return; - + convert_to_long_ex(&z_status); status = Z_LVAL_P(z_status); @@ -628,7 +628,7 @@ PHP_FUNCTION(pcntl_wait) } /* }}} */ -/* {{{ proto bool pcntl_wifexited(int status) +/* {{{ proto bool pcntl_wifexited(int status) Returns true if the child status code represents a successful exit */ PHP_FUNCTION(pcntl_wifexited) { @@ -646,7 +646,7 @@ PHP_FUNCTION(pcntl_wifexited) } /* }}} */ -/* {{{ proto bool pcntl_wifstopped(int status) +/* {{{ proto bool pcntl_wifstopped(int status) Returns true if the child status code represents a stopped process (WUNTRACED must have been used with waitpid) */ PHP_FUNCTION(pcntl_wifstopped) { @@ -664,7 +664,7 @@ PHP_FUNCTION(pcntl_wifstopped) } /* }}} */ -/* {{{ proto bool pcntl_wifsignaled(int status) +/* {{{ proto bool pcntl_wifsignaled(int status) Returns true if the child status code represents a process that was terminated due to a signal */ PHP_FUNCTION(pcntl_wifsignaled) { @@ -682,7 +682,7 @@ PHP_FUNCTION(pcntl_wifsignaled) } /* }}} */ -/* {{{ proto int pcntl_wexitstatus(int status) +/* {{{ proto int pcntl_wexitstatus(int status) Returns the status code of a child's exit */ PHP_FUNCTION(pcntl_wexitstatus) { @@ -700,7 +700,7 @@ PHP_FUNCTION(pcntl_wexitstatus) } /* }}} */ -/* {{{ proto int pcntl_wtermsig(int status) +/* {{{ proto int pcntl_wtermsig(int status) Returns the number of the signal that terminated the process who's status code is passed */ PHP_FUNCTION(pcntl_wtermsig) { @@ -718,7 +718,7 @@ PHP_FUNCTION(pcntl_wtermsig) } /* }}} */ -/* {{{ proto int pcntl_wstopsig(int status) +/* {{{ proto int pcntl_wstopsig(int status) Returns the number of the signal that caused the process to stop who's status code is passed */ PHP_FUNCTION(pcntl_wstopsig) { @@ -754,19 +754,19 @@ PHP_FUNCTION(pcntl_exec) char *path; int path_len; ulong key_num; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|aa", &path, &path_len, &args, &envs) == FAILURE) { + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|aa", &path, &path_len, &args, &envs) == FAILURE) { return; } - + if (ZEND_NUM_ARGS() > 1) { /* Build argument list */ args_hash = HASH_OF(args); argc = zend_hash_num_elements(args_hash); - + argv = safe_emalloc((argc + 2), sizeof(char *), 0); *argv = path; - for ( zend_hash_internal_pointer_reset(args_hash), current_arg = argv+1; + for ( zend_hash_internal_pointer_reset(args_hash), current_arg = argv+1; (argi < argc && (zend_hash_get_current_data(args_hash, (void **) &element) == SUCCESS)); (argi++, current_arg++, zend_hash_move_forward(args_hash)) ) { @@ -784,9 +784,9 @@ PHP_FUNCTION(pcntl_exec) /* Build environment pair list */ envs_hash = HASH_OF(envs); envc = zend_hash_num_elements(envs_hash); - + envp = safe_emalloc((envc + 1), sizeof(char *), 0); - for ( zend_hash_internal_pointer_reset(envs_hash), pair = envp; + for ( zend_hash_internal_pointer_reset(envs_hash), pair = envp; (envi < envc && (zend_hash_get_current_data(envs_hash, (void **) &element) == SUCCESS)); (envi++, pair++, zend_hash_move_forward(envs_hash)) ) { switch (return_val = zend_hash_get_current_key_ex(envs_hash, &key, &key_length, &key_num, 0, NULL)) { @@ -802,13 +802,13 @@ PHP_FUNCTION(pcntl_exec) convert_to_string_ex(element); - /* Length of element + equal sign + length of key + null */ + /* Length of element + equal sign + length of key + null */ pair_length = Z_STRLEN_PP(element) + key_length + 2; *pair = emalloc(pair_length); - strlcpy(*pair, key, key_length); + strlcpy(*pair, key, key_length); strlcat(*pair, "=", pair_length); strlcat(*pair, Z_STRVAL_PP(element), pair_length); - + /* Cleanup */ if (return_val == HASH_KEY_IS_LONG) efree(key); } @@ -818,7 +818,7 @@ PHP_FUNCTION(pcntl_exec) PCNTL_G(last_error) = errno; php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error has occurred: (errno %d) %s", errno, strerror(errno)); } - + /* Cleanup */ for (pair = envp; *pair != NULL; pair++) efree(*pair); efree(envp); @@ -831,7 +831,7 @@ PHP_FUNCTION(pcntl_exec) } efree(argv); - + RETURN_FALSE; } /* }}} */ @@ -880,7 +880,7 @@ PHP_FUNCTION(pcntl_signal) } RETURN_TRUE; } - + if (!zend_is_callable(handle, 0, &func_name TSRMLS_CC)) { PCNTL_G(last_error) = EINVAL; php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s is not a callable function name error", func_name); @@ -888,11 +888,11 @@ PHP_FUNCTION(pcntl_signal) RETURN_FALSE; } efree(func_name); - + /* Add the function name to our signal table */ zend_hash_index_update(&PCNTL_G(php_signal_table), signo, (void **) &handle, sizeof(zval *), (void **) &dest_handle); if (dest_handle) zval_add_ref(dest_handle); - + if (php_signal4(signo, pcntl_signal_handler, (int) restart_syscalls, 1) == SIG_ERR) { PCNTL_G(last_error) = errno; php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error assigning signal"); @@ -1029,7 +1029,7 @@ static void pcntl_sigwaitinfo(INTERNAL_FUNCTION_PARAMETERS, int timedwait) /* {{ } /* - * sigtimedwait and sigwaitinfo can return 0 on success on some + * sigtimedwait and sigwaitinfo can return 0 on success on some * platforms, e.g. NetBSD */ if (!signo && siginfo.si_signo) { @@ -1077,7 +1077,7 @@ static void pcntl_sigwaitinfo(INTERNAL_FUNCTION_PARAMETERS, int timedwait) /* {{ EMPTY_SWITCH_DEFAULT_CASE(); } } - + RETURN_LONG(signo); } /* }}} */ @@ -1107,12 +1107,12 @@ PHP_FUNCTION(pcntl_getpriority) long who = PRIO_PROCESS; long pid = getpid(); int pri; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|ll", &pid, &who) == FAILURE) { RETURN_FALSE; } - /* needs to be cleared, since any returned value is valid */ + /* needs to be cleared, since any returned value is valid */ errno = 0; pri = getpriority(who, pid); @@ -1172,7 +1172,7 @@ PHP_FUNCTION(pcntl_setpriority) } RETURN_FALSE; } - + RETURN_TRUE; } /* }}} */ @@ -1205,7 +1205,7 @@ static void pcntl_signal_handler(int signo) { struct php_pcntl_pending_signal *psig; TSRMLS_FETCH(); - + psig = PCNTL_G(spares); if (!psig) { /* oops, too many signals for us to track, so we'll forget about this one */ @@ -1233,7 +1233,7 @@ void pcntl_signal_dispatch() sigset_t mask; sigset_t old_mask; TSRMLS_FETCH(); - + /* Mask all signals */ sigfillset(&mask); sigprocmask(SIG_BLOCK, &mask, &old_mask); @@ -1249,7 +1249,7 @@ void pcntl_signal_dispatch() queue = PCNTL_G(head); PCNTL_G(head) = NULL; /* simple stores are atomic */ - + /* Allocate */ while (queue) { @@ -1274,7 +1274,7 @@ void pcntl_signal_dispatch() /* Re-enable queue */ PCNTL_G(processing_signal_queue) = 0; - + /* return signal mask to previous state */ sigprocmask(SIG_SETMASK, &old_mask, NULL); } diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index c3e223048a..7d0bfed71b 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -2113,7 +2113,7 @@ ZEND_BEGIN_ARG_INFO(arginfo_stream_set_write_buffer, 0) ZEND_ARG_INFO(0, fp) ZEND_ARG_INFO(0, buffer) ZEND_END_ARG_INFO() - + ZEND_BEGIN_ARG_INFO(arginfo_stream_set_chunk_size, 0) ZEND_ARG_INFO(0, fp) ZEND_ARG_INFO(0, chunk_size) @@ -2308,7 +2308,7 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO(arginfo_lcfirst, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() - + ZEND_BEGIN_ARG_INFO_EX(arginfo_ucwords, 0, 0, 1) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, delimiters) @@ -3452,7 +3452,7 @@ static void basic_globals_ctor(php_basic_globals *basic_globals_p TSRMLS_DC) /* BG(user_tick_functions) = NULL; BG(user_filter_map) = NULL; BG(serialize_lock) = 0; - + memset(&BG(serialize), 0, sizeof(BG(serialize))); memset(&BG(unserialize), 0, sizeof(BG(unserialize))); @@ -3980,8 +3980,8 @@ PHP_FUNCTION(getenv) int size; SetLastError(0); - /*If the given bugger is not large enough to hold the data, the return value is - the buffer size, in characters, required to hold the string and its terminating + /*If the given bugger is not large enough to hold the data, the return value is + the buffer size, in characters, required to hold the string and its terminating null character. We use this return value to alloc the final buffer. */ size = GetEnvironmentVariableA(str, &dummybuf, 0); if (GetLastError() == ERROR_ENVVAR_NOT_FOUND) { @@ -4033,7 +4033,7 @@ PHP_FUNCTION(putenv) if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &setting, &setting_len) == FAILURE) { return; } - + if(setting_len == 0 || setting[0] == '=') { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid parameter syntax"); RETURN_FALSE; @@ -4088,7 +4088,7 @@ PHP_FUNCTION(putenv) error_code = SetEnvironmentVariable(pe.key, value); # if _MSC_VER < 1500 /* Yet another VC6 bug, unset may return env not found */ - if (error_code != 0 || + if (error_code != 0 || (error_code == 0 && GetLastError() == ERROR_ENVVAR_NOT_FOUND)) { # else if (error_code != 0) { /* success */ @@ -4576,7 +4576,7 @@ PHP_FUNCTION(set_magic_quotes_runtime) if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "b", &new_setting) == FAILURE) { return; } - + if (new_setting) { php_error_docref(NULL TSRMLS_CC, E_CORE_ERROR, "magic_quotes_runtime is not supported anymore"); } @@ -4864,7 +4864,7 @@ PHP_FUNCTION(forward_static_call) instanceof_function(EG(called_scope), fci_cache.calling_scope TSRMLS_CC)) { fci_cache.called_scope = EG(called_scope); } - + if (zend_call_function(&fci, &fci_cache TSRMLS_CC) == SUCCESS && fci.retval_ptr_ptr && *fci.retval_ptr_ptr) { COPY_PZVAL_TO_ZVAL(*return_value, *fci.retval_ptr_ptr); } @@ -5437,7 +5437,7 @@ PHP_FUNCTION(set_include_path) int new_value_len; char *old_value; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &new_value, &new_value_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &new_value, &new_value_len) == FAILURE) { return; } @@ -5565,7 +5565,7 @@ PHP_FUNCTION(getservbyname) } -/* empty string behaves like NULL on windows implementation of +/* empty string behaves like NULL on windows implementation of getservbyname. Let be portable instead. */ #ifdef PHP_WIN32 if (proto_len == 0) { @@ -5993,7 +5993,7 @@ PHP_FUNCTION(parse_ini_string) /* }}} */ #if ZEND_DEBUG -/* This function returns an array of ALL valid ini options with values and +/* This function returns an array of ALL valid ini options with values and * is not the same as ini_get_all() which returns only registered ini options. Only useful for devs to debug php.ini scanner/parser! */ PHP_FUNCTION(config_get_hash) /* {{{ */ { diff --git a/ext/standard/dir.c b/ext/standard/dir.c index c64f37c2d6..27ffb9dbcb 100644 --- a/ext/standard/dir.c +++ b/ext/standard/dir.c @@ -93,8 +93,8 @@ static zend_class_entry *dir_class_entry_ptr; dirp = (php_stream *) zend_fetch_resource(&id TSRMLS_CC, -1, "Directory", NULL, 1, php_file_le_stream()); \ if (!dirp) \ RETURN_FALSE; \ - } - + } + /* {{{ arginfo */ ZEND_BEGIN_ARG_INFO_EX(arginfo_dir, 0, 0, 0) ZEND_ARG_INFO(0, dir_handle) @@ -118,7 +118,7 @@ static void php_set_default_dir(int id TSRMLS_DC) if (id != -1) { zend_list_addref(id); } - + DIRG(default_dir) = id; } @@ -168,25 +168,25 @@ PHP_MINIT_FUNCTION(dir) #ifdef GLOB_NOSORT REGISTER_LONG_CONSTANT("GLOB_NOSORT", GLOB_NOSORT, CONST_CS | CONST_PERSISTENT); -#else +#else # define GLOB_NOSORT 0 #endif #ifdef GLOB_NOCHECK REGISTER_LONG_CONSTANT("GLOB_NOCHECK", GLOB_NOCHECK, CONST_CS | CONST_PERSISTENT); -#else +#else # define GLOB_NOCHECK 0 #endif #ifdef GLOB_NOESCAPE REGISTER_LONG_CONSTANT("GLOB_NOESCAPE", GLOB_NOESCAPE, CONST_CS | CONST_PERSISTENT); -#else +#else # define GLOB_NOESCAPE 0 #endif #ifdef GLOB_ERR REGISTER_LONG_CONSTANT("GLOB_ERR", GLOB_ERR, CONST_CS | CONST_PERSISTENT); -#else +#else # define GLOB_ERR 0 #endif @@ -219,12 +219,12 @@ static void _php_do_opendir(INTERNAL_FUNCTION_PARAMETERS, int createobject) php_stream_context *context = NULL; php_stream *dirp; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|r", &dirname, &dir_len, &zcontext) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|r", &dirname, &dir_len, &zcontext) == FAILURE) { RETURN_NULL(); } context = php_stream_context_from_zval(zcontext, 0); - + dirp = php_stream_opendir(dirname, REPORT_ERRORS, context); if (dirp == NULL) { @@ -232,7 +232,7 @@ static void _php_do_opendir(INTERNAL_FUNCTION_PARAMETERS, int createobject) } dirp->flags |= PHP_STREAM_FLAG_NO_FCLOSE; - + php_set_default_dir(dirp->rsrc_id TSRMLS_CC); if (createobject) { @@ -293,11 +293,11 @@ PHP_FUNCTION(chroot) { char *str; int ret, str_len; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) { + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &str, &str_len) == FAILURE) { RETURN_FALSE; } - + ret = chroot(str); if (ret != 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s (errno %d)", strerror(errno), errno); @@ -305,9 +305,9 @@ PHP_FUNCTION(chroot) } php_clear_stat_cache(1, NULL, 0 TSRMLS_CC); - + ret = chdir("/"); - + if (ret != 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s (errno %d)", strerror(errno), errno); RETURN_FALSE; @@ -324,7 +324,7 @@ PHP_FUNCTION(chdir) { char *str; int ret, str_len; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &str, &str_len) == FAILURE) { RETURN_FALSE; } @@ -333,7 +333,7 @@ PHP_FUNCTION(chdir) RETURN_FALSE; } ret = VCWD_CHDIR(str); - + if (ret != 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s (errno %d)", strerror(errno), errno); RETURN_FALSE; @@ -358,7 +358,7 @@ PHP_FUNCTION(getcwd) { char path[MAXPATHLEN]; char *ret=NULL; - + if (zend_parse_parameters_none() == FAILURE) { return; } @@ -383,7 +383,7 @@ PHP_FUNCTION(rewinddir) { zval *id = NULL, **tmp, *myself; php_stream *dirp; - + FETCH_DIRP(); if (!(dirp->flags & PHP_STREAM_FLAG_IS_DIR)) { @@ -450,9 +450,9 @@ PHP_FUNCTION(glob) RETURN_FALSE; } -#ifdef ZTS +#ifdef ZTS if (!IS_ABSOLUTE_PATH(pattern, pattern_len)) { - result = VCWD_GETCWD(cwd, MAXPATHLEN); + result = VCWD_GETCWD(cwd, MAXPATHLEN); if (!result) { cwd[0] = '\0'; } @@ -465,10 +465,10 @@ PHP_FUNCTION(glob) snprintf(work_pattern, MAXPATHLEN, "%s%c%s", cwd, DEFAULT_SLASH, pattern); pattern = work_pattern; - } + } #endif - + memset(&globbuf, 0, sizeof(glob_t)); globbuf.gl_offs = 0; if (0 != (ret = glob(pattern, flags & GLOB_FLAGMASK, NULL, &globbuf))) { @@ -477,7 +477,7 @@ PHP_FUNCTION(glob) /* Some glob implementation simply return no data if no matches were found, others return the GLOB_NOMATCH error code. We don't want to treat GLOB_NOMATCH as an error condition - so that PHP glob() behaves the same on both types of + so that PHP glob() behaves the same on both types of implementations and so that 'foreach (glob() as ...' can be used for simple glob() calls without further error checking. @@ -517,11 +517,11 @@ no_results: } /* we need to do this everytime since GLOB_ONLYDIR does not guarantee that * all directories will be filtered. GNU libc documentation states the - * following: - * If the information about the type of the file is easily available - * non-directories will be rejected but no extra work will be done to - * determine the information for each file. I.e., the caller must still be - * able to filter directories out. + * following: + * If the information about the type of the file is easily available + * non-directories will be rejected but no extra work will be done to + * determine the information for each file. I.e., the caller must still be + * able to filter directories out. */ if (flags & GLOB_ONLYDIR) { struct stat s; @@ -545,7 +545,7 @@ no_results: } } /* }}} */ -#endif +#endif /* {{{ proto array scandir(string dir [, int sorting_order [, resource context]]) List files & directories inside the specified path */ @@ -583,7 +583,7 @@ PHP_FUNCTION(scandir) php_error_docref(NULL TSRMLS_CC, E_WARNING, "(errno %d): %s", errno, strerror(errno)); RETURN_FALSE; } - + array_init(return_value); for (i = 0; i < n; i++) { diff --git a/ext/standard/file.c b/ext/standard/file.c index 708c3e29c5..21e1e53514 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -813,7 +813,7 @@ PHP_FUNCTION(tempnam) char *p; int fd; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ps", &dir, &dir_len, &prefix, &prefix_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "pp", &dir, &dir_len, &prefix, &prefix_len) == FAILURE) { return; } @@ -825,7 +825,7 @@ PHP_FUNCTION(tempnam) if (p_len > 64) { p[63] = '\0'; } - + RETVAL_FALSE; if ((fd = php_open_temporary_fd_ex(dir, p, &opened_path, 1 TSRMLS_CC)) >= 0) { @@ -1340,7 +1340,7 @@ PHP_FUNCTION(rmdir) zval *zcontext = NULL; php_stream_context *context; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|r", &dir, &dir_len, &zcontext) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|r", &dir, &dir_len, &zcontext) == FAILURE) { RETURN_FALSE; } @@ -1385,13 +1385,13 @@ PHP_FUNCTION(umask) { long arg1 = 0; int oldumask; - + oldumask = umask(077); if (BG(umask) == -1) { BG(umask) = oldumask; } - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &arg1) == FAILURE) { RETURN_FALSE; } -- 2.40.0