summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/posix/config.m42
-rw-r--r--ext/posix/posix.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/ext/posix/config.m4 b/ext/posix/config.m4
index 9bd6fdb5c5..70644d328d 100644
--- a/ext/posix/config.m4
+++ b/ext/posix/config.m4
@@ -11,5 +11,5 @@ if test "$PHP_POSIX" = "yes"; then
AC_CHECK_HEADERS(sys/mkdev.h)
- AC_CHECK_FUNCS(seteuid setegid setsid getsid setpgid getpgid ctermid mkfifo mknod getrlimit getlogin getgroups)
+ AC_CHECK_FUNCS(seteuid setegid setsid getsid setpgid getpgid ctermid mkfifo mknod getrlimit getlogin getgroups makdev)
fi
diff --git a/ext/posix/posix.c b/ext/posix/posix.c
index 9558f0bb49..d786b75a0c 100644
--- a/ext/posix/posix.c
+++ b/ext/posix/posix.c
@@ -698,7 +698,11 @@ PHP_FUNCTION(posix_mknod)
"expects argument 4 to be non-zero for POSIX_S_IFCHR and POSIX_S_IFBLK");
RETURN_FALSE;
} else {
+#ifdef HAVE_MAKEDEV
php_dev = makedev(major, minor);
+#else
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can not create a block or character device, creating a normal file instead");
+#endif
}
}