← Commit list

fe9507f8c

Denys Vlasenko
Denys Vlasenko
2021-04-14
SUCCESS Duration: 152s

Subject

touch: fix -am

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

coreutils/touch.c+8 -5
@@ -153,11 +153,14 @@ int touch_main(int argc UNUSED_PARAM, char **argv)
timebuf[1].tv_sec = timebuf[0].tv_sec = t;
timebuf[1].tv_nsec = timebuf[0].tv_nsec = 0;
}
- if (opts & OPT_a) {
- timebuf[1].tv_nsec = UTIME_OMIT;
- }
- if (opts & OPT_m) {
- timebuf[0].tv_nsec = UTIME_OMIT;
+ /* If both -a and -m specified, both times should be set.
+ * IOW: set OMIT only if one, not both, of them is given!
+ */
+ if ((opts & (OPT_a|OPT_m)) != (OPT_a|OPT_m)) {
+ if (opts & OPT_a)
+ timebuf[1].tv_nsec = UTIME_OMIT;
+ if (opts & OPT_m)
+ timebuf[0].tv_nsec = UTIME_OMIT;
}
argv += optind;