Annotation of embedaddon/miniupnpd/miniupnpc/src/testminixml.c, revision 1.1

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

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