summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data.c20
-rw-r--r--main.c5
-rw-r--r--snac.h1
3 files changed, 25 insertions, 1 deletions
diff --git a/data.c b/data.c
index e875f90..0c0d6a2 100644
--- a/data.c
+++ b/data.c
@@ -587,3 +587,23 @@ d_char *queue(snac *snac)
587 587
588 return list; 588 return list;
589} 589}
590
591
592d_char *dequeue(snac *snac, char *fn)
593/* dequeues a message */
594{
595 FILE *f;
596 d_char *obj = NULL;
597
598 if ((f = fopen(fn, "r")) != NULL) {
599 /* delete right now */
600 unlink(fn);
601
602 xs *j = xs_readall(f);
603 obj = xs_json_loads(j);
604
605 fclose(f);
606 }
607
608 return obj;
609}
diff --git a/main.c b/main.c
index dd072e2..42606c2 100644
--- a/main.c
+++ b/main.c
@@ -21,7 +21,10 @@ int main(int argc, char *argv[])
21 21
22 p = list; 22 p = list;
23 while (xs_list_iter(&p, &fn)) { 23 while (xs_list_iter(&p, &fn)) {
24 printf("%s\n", fn); 24 xs *obj;
25
26 obj = dequeue(&snac, fn);
27 printf("%s\n", xs_dict_get(obj, "actor"));
25 } 28 }
26 } 29 }
27 30
diff --git a/snac.h b/snac.h
index 9e8432d..d2df160 100644
--- a/snac.h
+++ b/snac.h
@@ -60,3 +60,4 @@ int is_muted(snac *snac, char *actor);
60 60
61void enqueue(snac *snac, char *actor, char *msg, int retries); 61void enqueue(snac *snac, char *actor, char *msg, int retries);
62d_char *queue(snac *snac); 62d_char *queue(snac *snac);
63d_char *dequeue(snac *snac, char *fn);