coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/2] maint: refactor common mode bits used to create files


From: Pádraig Brady
Subject: [PATCH 2/2] maint: refactor common mode bits used to create files
Date: Fri, 22 Jun 2012 11:29:55 +0100

* src/system.h (MODE_RW_UGO): The new refactored define (666).
* src/mkfifo.c: Use the new define.
* src/mknod.c: Likewise.
* src/split.c: Likewise.
* src/system.h: Likewise.
* src/touch.c: Likewise.
* src/truncate.c: Likewise.

Suggested-by: Jim Meyering
---
 src/dd.c       |    2 +-
 src/mkfifo.c   |    2 +-
 src/mknod.c    |    2 +-
 src/split.c    |    3 +--
 src/system.h   |    3 +++
 src/touch.c    |    5 +----
 src/truncate.c |    4 +---
 7 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/src/dd.c b/src/dd.c
index 163d514..d937336 100644
--- a/src/dd.c
+++ b/src/dd.c
@@ -2211,7 +2211,7 @@ main (int argc, char **argv)
     }
   else
     {
-      mode_t perms = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
+      mode_t perms = MODE_RW_UGO;
       int opts
         = (output_flags
            | (conversions_mask & C_NOCREAT ? 0 : O_CREAT)
diff --git a/src/mkfifo.c b/src/mkfifo.c
index e5c871d..e524c44 100644
--- a/src/mkfifo.c
+++ b/src/mkfifo.c
@@ -114,7 +114,7 @@ main (int argc, char **argv)
            _("failed to set default file creation context to %s"),
            quote (scontext));
 
-  newmode = (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
+  newmode = MODE_RW_UGO;
   if (specified_mode)
     {
       struct mode_change *change = mode_compile (specified_mode);
diff --git a/src/mknod.c b/src/mknod.c
index 3a6d695..dc158b4 100644
--- a/src/mknod.c
+++ b/src/mknod.c
@@ -120,7 +120,7 @@ main (int argc, char **argv)
         }
     }
 
-  newmode = (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
+  newmode = MODE_RW_UGO;
   if (specified_mode)
     {
       struct mode_change *change = mode_compile (specified_mode);
diff --git a/src/split.c b/src/split.c
index 53ee271..46d2511 100644
--- a/src/split.c
+++ b/src/split.c
@@ -362,8 +362,7 @@ create (const char *name)
     {
       if (verbose)
         fprintf (stdout, _("creating file %s\n"), quote (name));
-      return open (name, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY,
-                   (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | 
S_IWOTH));
+      return open (name, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, MODE_RW_UGO);
     }
   else
     {
diff --git a/src/system.h b/src/system.h
index 06f09cb..5e3b3cb 100644
--- a/src/system.h
+++ b/src/system.h
@@ -30,6 +30,9 @@ you must include <sys/types.h> before including this file
 
 #include <sys/stat.h>
 
+/* Commonly used file permission combination.  */
+#define MODE_RW_UGO (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
+
 #if !defined HAVE_MKFIFO
 # define mkfifo(name, mode) mknod (name, (mode) | S_IFIFO, 0)
 #endif
diff --git a/src/touch.c b/src/touch.c
index 368516e..5976a34 100644
--- a/src/touch.c
+++ b/src/touch.c
@@ -131,11 +131,8 @@ touch (const char *file)
   else if (! (no_create || no_dereference))
     {
       /* Try to open FILE, creating it if necessary.  */
-      int default_permissions =
-        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
       fd = fd_reopen (STDIN_FILENO, file,
-                      O_WRONLY | O_CREAT | O_NONBLOCK | O_NOCTTY,
-                      default_permissions);
+                      O_WRONLY | O_CREAT | O_NONBLOCK | O_NOCTTY, MODE_RW_UGO);
 
       /* Don't save a copy of errno if it's EISDIR, since that would lead
          touch to give a bogus diagnostic for e.g., 'touch /' (assuming
diff --git a/src/truncate.c b/src/truncate.c
index e37ab38..c1e9666 100644
--- a/src/truncate.c
+++ b/src/truncate.c
@@ -244,7 +244,6 @@ main (int argc, char **argv)
   off_t size IF_LINT ( = 0);
   off_t rsize = -1;
   rel_mode_t rel_mode = rm_abs;
-  mode_t omode;
   int c, fd = -1, oflags;
   char const *fname;
 
@@ -385,11 +384,10 @@ main (int argc, char **argv)
     }
 
   oflags = O_WRONLY | (no_create ? 0 : O_CREAT) | O_NONBLOCK;
-  omode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
 
   while ((fname = *argv++) != NULL)
     {
-      if ((fd = open (fname, oflags, omode)) == -1)
+      if ((fd = open (fname, oflags, MODE_RW_UGO)) == -1)
         {
           /* 'truncate -s0 -c no-such-file'  shouldn't gen error
              'truncate -s0 no-such-dir/file' should gen ENOENT error
-- 
1.7.6.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]