commit 2d7c327cbf08a7ebc12df2818289af5d923c48de
parent afeec970a38ad91fc00ab50efaf42723c38cefbf
Author: default <nobody@localhost>
Date: Fri, 25 Nov 2022 13:33:13 +0100
New function mtime_nl().
Diffstat:
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/data.c b/data.c
@@ -185,14 +185,20 @@ d_char *user_list(void)
}
-double mtime(const char *fn)
-/* returns the mtime of a file or directory, or 0.0 */
+double mtime_nl(const char *fn, int *n_link)
+/* returns the mtime and number of links of a file or directory, or 0.0 */
{
struct stat st;
double r = 0.0;
+ int n = 0;
+
+ if (fn && stat(fn, &st) != -1) {
+ r = (double) st.st_mtim.tv_sec;
+ n = st.st_nlink;
+ }
- if (fn && stat(fn, &st) != -1)
- r = (double)st.st_mtim.tv_sec;
+ if (*n_link)
+ *n_link = n;
return r;
}
diff --git a/snac.h b/snac.h
@@ -50,7 +50,8 @@ int check_password(char *uid, char *passwd, char *hash);
void srv_archive(char *direction, char *req, char *payload, int p_size,
int status, char *headers, char *body, int b_size);
-double mtime(const char *fn);
+double mtime_nl(const char *fn, int *n_link);
+#define mtime(fn) mtime_nl(fn, NULL)
int index_add(const char *fn, const char *md5);
int index_del(const char *fn, const char *md5);