X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fmkfifoat.c;h=24ab1bf4d655519f43768f8e7fec628692db7853;hb=3a9002d3cc63da7110f133b1040d2d2b0aad8305;hp=a230b0048a7b818629d19ed261bb4e6231aaefab;hpb=f4aa44fff84819c50f1761342017c36605a8fe99;p=gnulib.git diff --git a/lib/mkfifoat.c b/lib/mkfifoat.c index a230b0048..24ab1bf4d 100644 --- a/lib/mkfifoat.c +++ b/lib/mkfifoat.c @@ -1,5 +1,5 @@ /* Create a named fifo relative to an open directory. - Copyright (C) 2009 Free Software Foundation, Inc. + Copyright (C) 2009-2012 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,43 +20,15 @@ #include -#include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ -#include "openat.h" -#include "openat-priv.h" -#include "save-cwd.h" - -#ifndef HAVE_MKFIFO -# define HAVE_MKFIFO 0 -#endif -#ifndef HAVE_MKNOD -# define HAVE_MKNOD 0 -#endif - -/* For now, all known systems either have both mkfifo and mknod, or - neither. If this is not true, we can implement the portable - aspects of one using the other (POSIX only requires mknod to create - fifos; all other uses of mknod are for root users and outside the - realm of POSIX). */ -#if HAVE_MKNOD != HAVE_MKFIFO -# error Please report this message and your system to bug-gnulib@gnu.org. -#endif - #if !HAVE_MKFIFO -/* Mingw lacks mkfifo and mknod, so this wrapper is trivial. */ # include -int -mkfifoat (int fd _UNUSED_PARAMETER_, char const *path _UNUSED_PARAMETER_, - mode_t mode _UNUSED_PARAMETER_) -{ - errno = ENOSYS; - return -1; -} +/* Mingw lacks mkfifo, so this wrapper is trivial. */ int -mknodat (int fd _UNUSED_PARAMETER_, char const *path _UNUSED_PARAMETER_, - mode_t mode _UNUSED_PARAMETER_, dev_t dev _UNUSED_PARAMETER_) +mkfifoat (int fd _GL_UNUSED, char const *path _GL_UNUSED, + mode_t mode _GL_UNUSED) { errno = ENOSYS; return -1; @@ -80,22 +52,4 @@ mknodat (int fd _UNUSED_PARAMETER_, char const *path _UNUSED_PARAMETER_, # undef AT_FUNC_POST_FILE_PARAM_DECLS # undef AT_FUNC_POST_FILE_ARGS -/* Create a file system node FILE relative to directory FD, with - access permissions and file type in MODE, and device type in DEV. - Usually, non-root applications can only create named fifos, with - DEV set to 0. If possible, create the node without changing the - working directory. Otherwise, resort to using save_cwd/fchdir, - then mknod/restore_cwd. If either the save_cwd or the restore_cwd - fails, then give a diagnostic and exit nonzero. */ - -# define AT_FUNC_NAME mknodat -# define AT_FUNC_F1 mknod -# define AT_FUNC_POST_FILE_PARAM_DECLS , mode_t mode, dev_t dev -# define AT_FUNC_POST_FILE_ARGS , mode, dev -# include "at-func.c" -# undef AT_FUNC_NAME -# undef AT_FUNC_F1 -# undef AT_FUNC_POST_FILE_PARAM_DECLS -# undef AT_FUNC_POST_FILE_ARGS - #endif /* HAVE_MKFIFO */