diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2016-03-05 13:53:40 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2016-03-05 13:53:40 -0500 |
commit | 037361965a14e1899020bf16c9112936e39020e8 (patch) | |
tree | b14529eeba8b28d6082b9b20a3c9c0cd97fbeda3 /eval.c | |
parent | 0cc26b741deffefe181981022321549a3ed2bcff (diff) | |
download | bfs-037361965a14e1899020bf16c9112936e39020e8.tar.xz |
Implement -used.
This doesn't agree with find's output, but I think find is buggy here.
For example, find -used +0 is returning fewer results than find -used 1,
which makes no sense given that 1 is greater than 0.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -174,6 +174,21 @@ bool eval_acnewer(const struct expr *expr, struct eval_state *state) { } /** + * -used test. + */ +bool eval_used(const struct expr *expr, struct eval_state *state) { + const struct stat *statbuf = fill_statbuf(state); + if (!statbuf) { + return false; + } + + time_t diff = timespec_diff(&statbuf->st_atim, &statbuf->st_ctim); + diff /= 60*60*24; + printf("%d\n", (int)diff); + return do_cmp(expr, diff); +} + +/** * -gid test. */ bool eval_gid(const struct expr *expr, struct eval_state *state) { |