ids.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
       ---
       ids.c (1149B)
       ---
            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 #include <time.h>
           10 #include <strings.h>
           11 #include <sys/types.h>
           12 #include <sys/wait.h>
           13 #include <signal.h>
           14 #include <string.h>
           15 
           16 #include "ind.h"
           17 #include "arg.h"
           18 #include "cfg.h"
           19 #include "llist.h"
           20 #include "imap.h"
           21 
           22 void
           23 idsusage(char *argv0)
           24 {
           25         die("usage: %s [-h] [-c cfg] [-m folder] msgs\n", argv0);
           26 }
           27 
           28 int
           29 idsmain(int argc, char *argv[])
           30 {
           31         config_t *cfg;
           32         char *selected, *idss, *cfgn, *argv0;
           33         llist_t *ids;
           34 
           35         selected = NULL;
           36         cfgn = NULL;
           37 
           38         ARGBEGIN(argv0) {
           39         case 'c':
           40                 cfgn = EARGF(idsusage(argv0));
           41                 break;
           42         case 'm':
           43                 selected = EARGF(idsusage(argv0));
           44                 break;
           45         default:
           46                 idsusage(argv0);
           47         } ARGEND;
           48 
           49         if (argc < 1)
           50                 idsusage(argv0);
           51 
           52         cfg = config_init(cfgn);
           53         if (selected == NULL) {
           54                 selected = config_checkgetstr(cfg, "selected");
           55         } else {
           56                 selected = memdups(selected);
           57         }
           58         config_free(cfg);
           59 
           60         ids = imap_argv2ids(cfgn, selected, argc, argv);
           61         if (ids == NULL)
           62                 die("No msgsids selected. Aborting.\n");
           63 
           64         idss = llist_joinstr(ids, " ");
           65         llist_free(ids);
           66         printf("%s\n", idss);
           67         free(idss);
           68 
           69         free(selected);
           70         return 0;
           71 }
           72