Browse Source

- mkdir(): made second (mode) parameter optional, default to 0777

switched to zend_parse_parameters().
# Added vim 'noet' setting
experimental/ZendEngine2
Markus Fischer 25 years ago
parent
commit
1e2b854bba
  1. 26
      ext/standard/file.c

26
ext/standard/file.c

@ -1447,32 +1447,28 @@ PHP_FUNCTION(fseek)
}
/* }}} */
/* {{{ proto bool mkdir(string pathname, int mode)
/* {{{ proto bool mkdir(string pathname[, int mode])
Create a directory */
PHP_FUNCTION(mkdir)
{
zval **arg1, **arg2;
int ret;
mode_t mode;
int dir_len, ret;
mode_t mode = 0777;
char *dir;
if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &dir, &dir_len, &mode) == FAILURE) {
return;
}
convert_to_string_ex(arg1);
convert_to_long_ex(arg2);
mode = (mode_t) Z_LVAL_PP(arg2);
if (PG(safe_mode) &&(!php_checkuid(Z_STRVAL_PP(arg1), NULL, CHECKUID_ALLOW_ONLY_DIR))) {
if (PG(safe_mode) &&(!php_checkuid(dir, NULL, CHECKUID_ALLOW_ONLY_DIR))) {
RETURN_FALSE;
}
if (php_check_open_basedir(Z_STRVAL_PP(arg1) TSRMLS_CC)) {
if (php_check_open_basedir(dir TSRMLS_CC)) {
RETURN_FALSE;
}
ret = VCWD_MKDIR(Z_STRVAL_PP(arg1), mode);
ret = VCWD_MKDIR(dir, mode);
if (ret < 0) {
php_error(E_WARNING, "mkdir() failed (%s)", strerror(errno));
RETURN_FALSE;
@ -2354,6 +2350,6 @@ php_meta_tags_token php_next_meta_token(php_meta_tags_data *md)
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
* vim600: noet sw=4 ts=4 fdm=marker
* vim<600: noet sw=4 ts=4
*/
Loading…
Cancel
Save