diff options
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 20 |
1 files changed, 20 insertions, 0 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 | } | ||