Return to testminixml.c CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / miniupnpd / miniupnpc / src |
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: