include/c: add cmp_timespec() and cmp_stat_mtime()

It's like timercmp() in libc, but for timespec and for stat.st_mtim
(or stat.st_mtime for old struct stat versions).

Signed-off-by: Karel Zak <kzak@redhat.com>
pull/1535/head
Karel Zak 10 months ago
parent b66b5b970e
commit 0cfb8c5c32
  1. 18
      include/c.h

@ -175,6 +175,24 @@
_a == _b ? 0 : _a > _b ? 1 : -1; })
#endif
#ifndef cmp_timespec
# define cmp_timespec(a, b, CMP) \
(((a)->tv_sec == (b)->tv_sec) \
? ((a)->tv_nsec CMP (b)->tv_nsec) \
: ((a)->tv_sec CMP (b)->tv_sec))
#endif
#ifndef cmp_stat_mtime
# ifdef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
# define cmp_stat_mtime(_a, _b, CMP) cmp_timespec(&(_a)->st_mtim, &(_b)->st_mtim, CMP)
# else
# define cmp_stat_mtime(_a, _b, CMP) ((_a)->st_mtime CMP (_b)->st_mtime)
# endif
#endif
#ifndef offsetof
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#endif

Loading…
Cancel
Save