X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fmknod.c;h=6ff88efab1f2dd7fe8875a42ffec56113f28dd5b;hp=a6e6eca66f058e421ee66b1203d7e713cf0f0dd1;hb=edb9b3abc03c0a0f84b1cbd9cf5920e3c84e5c18;hpb=6bda071b5cd8393b37653687027c4ae6c6cf3804 diff --git a/daemon/mknod.c b/daemon/mknod.c index a6e6eca..6ff88ef 100644 --- a/daemon/mknod.c +++ b/daemon/mknod.c @@ -31,13 +31,11 @@ #include "actions.h" int -do_mknod (int mode, int devmajor, int devminor, char *path) +do_mknod (int mode, int devmajor, int devminor, const char *path) { +#ifdef HAVE_MKNOD int r; - NEED_ROOT (return -1); - ABS_PATH (path, return -1); - CHROOT_IN; r = mknod (path, mode, makedev (devmajor, devminor)); CHROOT_OUT; @@ -48,22 +46,26 @@ do_mknod (int mode, int devmajor, int devminor, char *path) } return 0; +#else + reply_with_error ("%s is not available", __func__); + return -1; +#endif } int -do_mkfifo (int mode, char *path) +do_mkfifo (int mode, const char *path) { return do_mknod (mode | S_IFIFO, 0, 0, path); } int -do_mknod_b (int mode, int devmajor, int devminor, char *path) +do_mknod_b (int mode, int devmajor, int devminor, const char *path) { return do_mknod (mode | S_IFBLK, devmajor, devminor, path); } int -do_mknod_c (int mode, int devmajor, int devminor, char *path) +do_mknod_c (int mode, int devmajor, int devminor, const char *path) { return do_mknod (mode | S_IFCHR, devmajor, devminor, path); }