- Fixed posix_mknod() checks and warnings.

This commit is contained in:
Derick Rethans 2005-11-02 15:50:06 +00:00
parent ab95f1981c
commit 9d0664976f

View File

@ -676,7 +676,7 @@ PHP_FUNCTION(posix_mknod)
char *path;
int path_len;
long mode;
long major, minor = 0;
long major = 0, minor = 0;
int result;
dev_t php_dev;
@ -693,9 +693,13 @@ PHP_FUNCTION(posix_mknod)
}
if ((mode & S_IFCHR) || (mode & S_IFBLK)) {
if (ZEND_NUM_ARGS() == 2) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "For S_IFCHR and S_IFBLK you need to pass a major device kernel identifier");
RETURN_FALSE;
}
if (major == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,
"expects argument 4 to be non-zero for POSIX_S_IFCHR and POSIX_S_IFBLK");
"Expects argument 3 to be non-zero for POSIX_S_IFCHR and POSIX_S_IFBLK");
RETURN_FALSE;
} else {
#if defined(HAVE_MAKEDEV) || defined(makedev)