sbase

suckless unix tools
git clone git://git.2f30.org/sbase
Log | Files | Refs | README | LICENSE

commit 72f43adc54d36e21e2a8305fdeb7d03d31cd2160
parent b1f750d96e6689627a30584d5cce9971b98c4d6e
Author: sin <sin@2f30.org>
Date:   Tue, 20 Jan 2015 11:24:37 +0000

touch: Style fix

Diffstat:
Mtouch.c | 58++++++++++++++++++++++++++++------------------------------
1 file changed, 28 insertions(+), 30 deletions(-)

diff --git a/touch.c b/touch.c @@ -9,14 +9,40 @@ #include "util.h" -static void touch(const char *); - static int aflag; static int cflag; static int mflag; static time_t t; static void +touch(const char *file) +{ + int fd; + struct stat st; + struct utimbuf ut; + int r; + + if ((r = stat(file, &st)) < 0) { + if (errno != ENOENT) + eprintf("stat %s:", file); + if (cflag) + return; + } else if (r == 0) { + ut.actime = aflag ? t : st.st_atime; + ut.modtime = mflag ? t : st.st_mtime; + if (utime(file, &ut) < 0) + eprintf("utime %s:", file); + return; + } + + if ((fd = open(file, O_CREAT | O_EXCL, 0644)) < 0) + eprintf("open %s:", file); + close(fd); + + touch(file); +} + +static void usage(void) { eprintf("usage: %s [-acm] [-t stamp] file ...\n", argv0); @@ -52,31 +78,3 @@ main(int argc, char *argv[]) return 0; } - -static void -touch(const char *file) -{ - int fd; - struct stat st; - struct utimbuf ut; - int r; - - if ((r = stat(file, &st)) < 0) { - if (errno != ENOENT) - eprintf("stat %s:", file); - if (cflag) - return; - } else if (r == 0) { - ut.actime = aflag ? t : st.st_atime; - ut.modtime = mflag ? t : st.st_mtime; - if (utime(file, &ut) < 0) - eprintf("utime %s:", file); - return; - } - - if ((fd = open(file, O_CREAT | O_EXCL, 0644)) < 0) - eprintf("open %s:", file); - close(fd); - - touch(file); -}