f_ctime() returns the oldest of ctime and mtime.

This commit is contained in:
default 2023-04-13 09:46:05 +02:00
parent 963f2cf79a
commit e47cb4f9e1

9
data.c
View file

@ -249,14 +249,19 @@ double mtime_nl(const char *fn, int *n_link)
} }
#define MIN(v1, v2) ((v1) < (v2) ? (v1) : (v2))
double f_ctime(const char *fn) double f_ctime(const char *fn)
/* returns the ctime of a file or directory, or 0.0 */ /* returns the ctime of a file or directory, or 0.0 */
{ {
struct stat st; struct stat st;
double r = 0.0; double r = 0.0;
if (fn && stat(fn, &st) != -1) if (fn && stat(fn, &st) != -1) {
r = (double) st.st_ctim.tv_sec; /* return the lowest of ctime and mtime;
there are operations that change the ctime, like link() */
r = (double) MIN(st.st_ctim.tv_sec, st.st_mtim.tv_sec);
}
return r; return r;
} }