commit 0941c9ab2c47447755b0d2267bd76ae3f5b9318a
Author:     Michael Forney <[email protected]>
AuthorDate: Fri Jul 8 10:24:11 2016 -0700
Commit:     sin <[email protected]>
CommitDate: Sat Jul 9 10:17:16 2016 +0100

    touch: Respect caller's umask
    
    Currently, if the caller has a umask of 002 or 000, the file gets created 
as 644
    anyway.
    
    Also, add O_WRONLY to the open call, since POSIX says that "Applications 
shall
    specify exactly one of the first five values (file access modes) below in 
the
    value of oflag".

diff --git a/touch.c b/touch.c
index fca2f16..74bdc27 100644
--- a/touch.c
+++ b/touch.c
@@ -38,7 +38,7 @@ touch(const char *file)
                return;
        }
 
-       if ((fd = open(file, O_CREAT | O_EXCL, 0644)) < 0)
+       if ((fd = open(file, O_WRONLY | O_CREAT | O_EXCL, 0666)) < 0)
                eprintf("open %s:", file);
        close(fd);
 

Reply via email to