diff options
| -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) | |||
| 587 | 587 | ||
| 588 | return list; | 588 | return list; |
| 589 | } | 589 | } |
| 590 | |||
| 591 | |||
| 592 | d_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 | } | ||
| @@ -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 | ||
| @@ -60,3 +60,4 @@ int is_muted(snac *snac, char *actor); | |||
| 60 | 60 | ||
| 61 | void enqueue(snac *snac, char *actor, char *msg, int retries); | 61 | void enqueue(snac *snac, char *actor, char *msg, int retries); |
| 62 | d_char *queue(snac *snac); | 62 | d_char *queue(snac *snac); |
| 63 | d_char *dequeue(snac *snac, char *fn); | ||