diff options
author | default <nobody@localhost> | 2022-09-20 12:50:37 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2022-09-20 12:50:37 +0200 |
commit | 922b04b4d79c01d13a0de71edf934f019f5a9771 (patch) | |
tree | 3d9af6fd42033e5dabfd6cd0187c1130ab6ecb6d | |
parent | e923a4f5ec586d9dcec90e585b8d50cfbeafb8a1 (diff) |
New function dequeue().
-rw-r--r-- | data.c | 20 | ||||
-rw-r--r-- | main.c | 5 | ||||
-rw-r--r-- | snac.h | 1 |
3 files changed, 25 insertions, 1 deletions
@@ -587,3 +587,23 @@ d_char *queue(snac *snac) return list; } + + +d_char *dequeue(snac *snac, char *fn) +/* dequeues a message */ +{ + FILE *f; + d_char *obj = NULL; + + if ((f = fopen(fn, "r")) != NULL) { + /* delete right now */ + unlink(fn); + + xs *j = xs_readall(f); + obj = xs_json_loads(j); + + fclose(f); + } + + return obj; +} @@ -21,7 +21,10 @@ int main(int argc, char *argv[]) p = list; while (xs_list_iter(&p, &fn)) { - printf("%s\n", fn); + xs *obj; + + obj = dequeue(&snac, fn); + printf("%s\n", xs_dict_get(obj, "actor")); } } @@ -60,3 +60,4 @@ int is_muted(snac *snac, char *actor); void enqueue(snac *snac, char *actor, char *msg, int retries); d_char *queue(snac *snac); +d_char *dequeue(snac *snac, char *fn); |