summaryrefslogtreecommitdiffhomepage
path: root/coreutils
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2021-04-13 15:41:57 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2021-04-13 15:41:57 +0200
commit36300545046a4f33dca90cedf14a6025a313aeac (patch)
treefd47d7097f34ce4f130696b3441a135f195f0e6e /coreutils
parent6f63a2ba0e54f7fc8ec66d470beb0212dd1b4d4f (diff)
touch: code shrink
function old new delta touch_main 450 423 -27 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/touch.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/coreutils/touch.c b/coreutils/touch.c
index 43312d22a..52605fb7c 100644
--- a/coreutils/touch.c
+++ b/coreutils/touch.c
@@ -88,8 +88,8 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
int opts;
smalluint status = EXIT_SUCCESS;
#if ENABLE_FEATURE_TOUCH_SUSV3
- char *reference_file = NULL;
- char *date_str = NULL;
+ char *reference_file;
+ char *date_str;
/* timebuf[0] is atime, timebuf[1] is mtime */
struct timespec timebuf[2];
#else
@@ -137,7 +137,7 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
);
timebuf[0].tv_nsec = timebuf[1].tv_nsec = UTIME_NOW;
- if (reference_file) {
+ if (opts & OPT_r) {
struct stat stbuf;
xstat(reference_file, &stbuf);
timebuf[0].tv_sec = stbuf.st_atime;
@@ -145,7 +145,7 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
timebuf[0].tv_nsec = stbuf.st_atim.tv_nsec;
timebuf[1].tv_nsec = stbuf.st_mtim.tv_nsec;
}
- if (date_str) {
+ if (opts & (OPT_d|OPT_t)) {
struct tm tm_time;
time_t t;