Annotation of embedaddon/miniupnpc/testminixml.c, revision 1.1.1.2

1.1.1.2 ! misho       1: /* $Id: testminixml.c,v 1.8 2012/03/05 19:42:47 nanard Exp $
        !             2:  * MiniUPnP project
        !             3:  * Website : http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
        !             4:  * Author : Thomas Bernard.
        !             5:  * Copyright (c) 2005-2012 Thomas Bernard
        !             6:  *
1.1       misho       7:  * testminixml.c
                      8:  * test program for the "minixml" functions.
                      9:  */
                     10: #include <stdlib.h>
                     11: #include <stdio.h>
                     12: #include <string.h>
                     13: #include "minixml.h"
                     14: #include "igd_desc_parse.h"
                     15: 
                     16: /* ---------------------------------------------------------------------- */
                     17: void printeltname1(void * d, const char * name, int l)
                     18: {
                     19:        int i;
                     20:        printf("element ");
                     21:        for(i=0;i<l;i++)
                     22:                putchar(name[i]);
                     23: }
                     24: void printeltname2(void * d, const char * name, int l)
                     25: {
                     26:        int i;
                     27:        putchar('/');
                     28:        for(i=0;i<l;i++)
                     29:                putchar(name[i]);
                     30:        putchar('\n');
                     31: }
                     32: void printdata(void *d, const char * data, int l)
                     33: {
                     34:        int i;
                     35:        printf("data : ");
                     36:        for(i=0;i<l;i++)
                     37:                putchar(data[i]);
                     38:        putchar('\n');
                     39: }
                     40: 
                     41: void burptest(const char * buffer, int bufsize)
                     42: {
                     43:        struct IGDdatas data;
                     44:        struct xmlparser parser;
                     45:        /*objet IGDdatas */
1.1.1.2 ! misho      46:        memset(&data, 0, sizeof(struct IGDdatas));
1.1       misho      47:        /* objet xmlparser */
                     48:        parser.xmlstart = buffer;
                     49:        parser.xmlsize = bufsize;
                     50:        parser.data = &data;
                     51:        /*parser.starteltfunc = printeltname1;
                     52:        parser.endeltfunc = printeltname2;
                     53:        parser.datafunc = printdata; */
                     54:        parser.starteltfunc = IGDstartelt;
                     55:        parser.endeltfunc = IGDendelt;
1.1.1.2 ! misho      56:        parser.datafunc = IGDdata;
1.1       misho      57:        parsexml(&parser);
                     58:        printIGD(&data);
                     59: }
                     60: 
                     61: /* ----- main ---- */
                     62: #define XML_MAX_SIZE (8192)
                     63: int main(int argc, char * * argv)
                     64: {
                     65:        FILE * f;
                     66:        char buffer[XML_MAX_SIZE];
                     67:        int bufsize;
                     68:        if(argc<2)
                     69:        {
                     70:                printf("usage:\t%s file.xml\n", argv[0]);
                     71:                return 1;
                     72:        }
                     73:        f = fopen(argv[1], "r");
                     74:        if(!f)
                     75:        {
                     76:                printf("cannot open file %s\n", argv[1]);
                     77:                return 1;
                     78:        }
                     79:        bufsize = (int)fread(buffer, 1, XML_MAX_SIZE, f);
                     80:        fclose(f);
                     81:        burptest(buffer, bufsize);
                     82:        return 0;
                     83: }
                     84: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>