summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorMarkus Fischer <mfischer@php.net>2002-01-11 10:44:24 +0000
committerMarkus Fischer <mfischer@php.net>2002-01-11 10:44:24 +0000
commit1e2b854bbacf1f6174e3b3a55b8aa4b9810e8eb1 (patch)
tree951b100a039962d15068020968574f5c0fff368d /ext
parente5898af98c897d7eaded323ca1c0c0a29b6d7c61 (diff)
downloadphp-git-1e2b854bbacf1f6174e3b3a55b8aa4b9810e8eb1.tar.gz
- mkdir(): made second (mode) parameter optional, default to 0777
switched to zend_parse_parameters(). # Added vim 'noet' setting
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/file.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/ext/standard/file.c b/ext/standard/file.c
index 20cf1cda84..7a9c8e7202 100644
--- a/ext/standard/file.c
+++ b/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
*/