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>