diff options
Diffstat (limited to 'coreutils/touch.c')
-rw-r--r-- | coreutils/touch.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/coreutils/touch.c b/coreutils/touch.c index 3f7b265bd..dceb7c1cc 100644 --- a/coreutils/touch.c +++ b/coreutils/touch.c | |||
@@ -104,7 +104,7 @@ int touch_main(int argc UNUSED_PARAM, char **argv) | |||
104 | } | 104 | } |
105 | 105 | ||
106 | do { | 106 | do { |
107 | if (utimes(*argv, reference_file ? timebuf : NULL) != 0) { | 107 | if (utimes(*argv, (reference_file || date_str) ? timebuf : NULL) != 0) { |
108 | if (errno == ENOENT) { /* no such file */ | 108 | if (errno == ENOENT) { /* no such file */ |
109 | if (opts) { /* creation is disabled, so ignore */ | 109 | if (opts) { /* creation is disabled, so ignore */ |
110 | continue; | 110 | continue; |
@@ -113,7 +113,7 @@ int touch_main(int argc UNUSED_PARAM, char **argv) | |||
113 | fd = open(*argv, O_RDWR | O_CREAT, 0666); | 113 | fd = open(*argv, O_RDWR | O_CREAT, 0666); |
114 | if (fd >= 0) { | 114 | if (fd >= 0) { |
115 | xclose(fd); | 115 | xclose(fd); |
116 | if (reference_file) | 116 | if (reference_file || date_str) |
117 | utimes(*argv, timebuf); | 117 | utimes(*argv, timebuf); |
118 | continue; | 118 | continue; |
119 | } | 119 | } |