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

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

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