capability.c - rohrpost - A commandline mail client to change the world as we see it.
(HTM) git clone git://r-36.net/rohrpost
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
capability.c (1026B)
---
1 /*
2 * Copy me if you can.
3 * by 20h
4 */
5
6 #include <unistd.h>
7 #include <stdio.h>
8 #include <stdlib.h>
9
10 #include "ind.h"
11 #include "arg.h"
12 #include "cfg.h"
13 #include "llist.h"
14 #include "imap.h"
15 #include "capability.h"
16
17 void
18 capabilityusage(char *argv0)
19 {
20 fprintf(stderr, "usage: %s [-h] [-c cfg]\n", argv0);
21 exit(1);
22 }
23
24 int
25 capabilitymain(int argc, char *argv[])
26 {
27 config_t *cfg;
28 imap_t *imap;
29 char *user, *pass, *netspec, *cfgn, *argv0;
30 llistelem_t *elem;
31
32 cfgn = NULL;
33
34 ARGBEGIN(argv0) {
35 case 'c':
36 cfgn = EARGF(capabilityusage(argv0));
37 break;
38 default:
39 capabilityusage(argv0);
40 } ARGEND;
41
42 cfg = config_init(cfgn);
43 user = (config_checkget(cfg, "imapuser"))->data;
44 pass = (config_checkget(cfg, "imappass"))->data;
45 netspec = (config_checkget(cfg, "imapnet"))->data;
46 imap = imap_new(netspec, user, pass);
47 config_free(cfg);
48
49 if (imap_init(imap))
50 imap_die(imap, "imap_init");
51
52 llist_sort(imap->caps);
53 forllist(imap->caps, elem)
54 printf("%s\n", elem->key);
55
56 imap_close(imap);
57 imap_free(imap);
58 return 0;
59 }
60