summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common/mknod.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common/mknod.c')
-rw-r--r--libc/sysdeps/linux/common/mknod.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/libc/sysdeps/linux/common/mknod.c b/libc/sysdeps/linux/common/mknod.c
index 75aff70c8..5c7f9a5fd 100644
--- a/libc/sysdeps/linux/common/mknod.c
+++ b/libc/sysdeps/linux/common/mknod.c
@@ -11,18 +11,14 @@
#include <sys/stat.h>
#include <sys/sysmacros.h>
-libc_hidden_proto(mknod)
+/* libc_hidden_proto(mknod) */
#define __NR___syscall_mknod __NR_mknod
static __inline__ _syscall3(int, __syscall_mknod, const char *, path,
- __kernel_mode_t, mode, __kernel_dev_t, dev);
+ __kernel_mode_t, mode, __kernel_dev_t, dev)
int mknod(const char *path, mode_t mode, dev_t dev)
{
- /* We must convert the dev_t value to a __kernel_dev_t */
- __kernel_dev_t k_dev;
-
- k_dev = ((major(dev) & 0xff) << 8) | (minor(dev) & 0xff);
- return __syscall_mknod(path, mode, k_dev);
+ return __syscall_mknod(path, mode, (__kernel_dev_t)dev);
}
libc_hidden_def(mknod)