diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2016-02-27 13:34:33 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2016-02-27 13:34:33 -0500 |
commit | 5e94b28d4a62cd590f173e0358cb3272073e4585 (patch) | |
tree | efcf1617e80437afbf8d3685a5c28fa1290a2d92 | |
parent | 388b66eb003d3026945992bd48f9180aff8b4f01 (diff) | |
download | bfs-5e94b28d4a62cd590f173e0358cb3272073e4585.tar.xz |
Fix -daystart to not round 0 upwards.
-rw-r--r-- | parse.c | 9 | ||||
-rwxr-xr-x | tests.sh | 10 |
2 files changed, 15 insertions, 4 deletions
@@ -494,10 +494,13 @@ static struct expr *parse_daystart(struct parser_state *state) { return NULL; } - tm.tm_sec = 0; - tm.tm_min = 0; + if (tm.tm_hour || tm.tm_min || tm.tm_sec || state->now.tv_nsec) { + ++tm.tm_mday; + } tm.tm_hour = 0; - ++tm.tm_mday; + tm.tm_min = 0; + tm.tm_sec = 0; + time_t time = mktime(&tm); if (time == -1) { perror("mktime()"); @@ -255,7 +255,15 @@ function test_0046() { find_diff -L "$basic" -group "$(id -g)" } -for i in {1..46}; do +function test_0047() { + find_diff -L "$basic" -daystart -mtime 0 +} + +function test_0048() { + find_diff -L "$basic" -daystart -daystart -mtime 0 +} + +for i in {1..48}; do test="test_$(printf '%04d' $i)" "$test" "$dir" status=$? |