]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(main): Compile mode with MODE_MASK_ALL and initial umask.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 22 Apr 2005 23:53:13 +0000 (23:53 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 22 Apr 2005 23:53:13 +0000 (23:53 +0000)
src/mkfifo.c

index c11ab60febf4a52055188f328d4ba25caa949518..a579dbe33aa01e8ab8d0a9117991fe16a8d954b7 100644 (file)
@@ -1,5 +1,5 @@
 /* mkfifo -- make fifo's (named pipes)
-   Copyright (C) 90, 91, 1995-2004 Free Software Foundation, Inc.
+   Copyright (C) 90, 91, 1995-2005 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
@@ -116,13 +116,13 @@ main (int argc, char **argv)
   newmode = (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
   if (specified_mode)
     {
-      newmode &= ~ umask (0);
-      change = mode_compile (specified_mode, 0);
+      change = mode_compile (specified_mode, MODE_MASK_ALL);
       if (change == MODE_INVALID)
        error (EXIT_FAILURE, 0, _("invalid mode"));
       else if (change == MODE_MEMORY_EXHAUSTED)
        xalloc_die ();
       newmode = mode_adjust (newmode, change);
+      umask (0);
     }
 
   for (; optind < argc; ++optind)