touch: fix -am
No binary (build failed)
—
(log yok)
| @@ -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; | |