File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / miniupnpc / testminixml.c
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 22 00:36:10 2013 UTC (10 years, 11 months ago) by misho
Branches: miniupnpc, elwix, MAIN
CVS tags: v1_8p0, v1_8, HEAD
1.8

    1: /* $Id: testminixml.c,v 1.1.1.2 2013/07/22 00:36:10 misho 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:  *
    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 */
   46: 	memset(&data, 0, sizeof(struct IGDdatas));
   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;
   56: 	parser.datafunc = IGDdata;
   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>