parsetest.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
       ---
       parsetest.c (1095B)
       ---
            1 /*
            2  * Copy me if you can.
            3  * by 20h
            4  *
            5  * % make parsetest
            6  * % cat ../proto/parsetest.example | socat - tcp-l:5600,reuseaddr
            7  * % ./parsetest 'tcp!localhost!5600'
            8  *
            9  * Beware, that parsetest.example should be in DOS format (\r\n)! The parser
           10  * will tolerate the UNIX format, but that will not be sent over the line in
           11  * the actual protocol.
           12  */
           13 
           14 #include <unistd.h>
           15 #include <stdio.h>
           16 #include <stdlib.h>
           17 #include <string.h>
           18 
           19 #include "ind.h"
           20 #include "imap.h"
           21 #include "llist.h"
           22 #include "parser.h"
           23 
           24 int
           25 main(int argc, char *argv[])
           26 {
           27         net_t *net;
           28         llistelem_t *stru;
           29         parser_t *parser;
           30 
           31         if (argc < 2)
           32                 die("usage: %s tcp!localhost!port\n", argv[0]);
           33 
           34         net = net_new(argv[1]);
           35         parser = parser_new("net", net);
           36 
           37         printf("net_connect %s\n", argv[1]);
           38         if (net_connect(net))
           39                 edie("net_connect");
           40 
           41         printf("net_parsestruct\n");
           42         stru = parser_parseimapstruct(parser);
           43         if (stru == NULL)
           44                 edie("parser_parseimapstruct");
           45 
           46         printf("net_close\n");
           47         net_close(net);
           48 
           49         printf("result:\n");
           50         llistelem_eprint(stru);
           51 
           52         llistelem_efree(stru);
           53         parser_free(parser);
           54         net_free(net);
           55 
           56         return 0;
           57 }
           58