On 11/21/20 2:18 PM, Reuben Thomas via Bug reports for the GNU find utilities 
wrote:
> The manual (current git) says:
> 
> True if the time of the last access (or status change or data modification)
>> of the current file is more recent than that of the last data modification
>> of the @var{reference} file.
>>
> 
> Presumably it really means:
> 
> True if the time of the last access (or status change or data modification)
> of the current file is more recent than that of the @var{reference} file.
> 
> In other words, like is compared with like, it's not always the mtime of
> the reference file that is used.

Yes, it is: the code uses get_stat_mtime() on the reference file
for all 3 variants:

* parse_anewer:
  
https://git.savannah.gnu.org/cgit/findutils.git/tree/find/parser.c?id=cc5d59382f#n790

* parse_cnewer:
  
https://git.savannah.gnu.org/cgit/findutils.git/tree/find/parser.c?id=cc5d59382f#n825

* parse_newer:
  
https://git.savannah.gnu.org/cgit/findutils.git/tree/find/parser.c?id=cc5d59382f#n1513

As such, the documentation is correctly describing find's behavior.

-anewer and -cnewer are a GNU extension, so it's not specified by POSIX
how find should behave.

FWIW: it seems e.g. FreeBSD's find behaves the same.

Have a nice day,
Berny



Reply via email to