Jelajahi Sumber

New function timeline_touch().

default 3 tahun lalu
induk
melakukan
bd21d144de
3 mengubah file dengan 14 tambahan dan 1 penghapusan
  1. 4 1
      activitypub.c
  2. 9 0
      data.c
  3. 1 0
      snac.h

+ 4 - 1
activitypub.c

@@ -1147,9 +1147,12 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
     else
         snac_debug(snac, 1, xs_fmt("process_message type '%s' ignored", type));
 
-    if (do_notify)
+    if (do_notify) {
         notify(snac, type, utype, actor, msg);
 
+        timeline_touch(snac);
+    }
+
     return 1;
 }
 

+ 9 - 0
data.c

@@ -14,6 +14,7 @@
 #include <time.h>
 #include <sys/stat.h>
 #include <sys/file.h>
+#include <sys/time.h>
 #include <fcntl.h>
 #include <pthread.h>
 
@@ -870,6 +871,14 @@ double timeline_mtime(snac *snac)
 }
 
 
+int timeline_touch(snac *snac)
+/* changes the date of the timeline index */
+{
+    xs *fn = xs_fmt("%s/private.idx", snac->basedir);
+    return utimes(fn, NULL);
+}
+
+
 xs_str *timeline_fn_by_md5(snac *snac, const char *md5)
 /* get the filename of an entry by md5 from any timeline */
 {

+ 1 - 0
snac.h

@@ -98,6 +98,7 @@ int follower_check(snac *snac, const char *actor);
 d_char *follower_list(snac *snac);
 
 double timeline_mtime(snac *snac);
+int timeline_touch(snac *snac);
 int timeline_here(snac *snac, const char *md5);
 int timeline_get_by_md5(snac *snac, const char *md5, xs_dict **msg);
 int timeline_del(snac *snac, char *id);