/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <sys/time.h>

#define CHAR_SIZE 8
#include <xmlparser.h>
#include <stdio16.h>
#include <input.h>

#include "tools.h"

void initXML(struct TestData *td) {
    init_parser();
}

void releaseXML(struct TestData *td) {
    deinit_parser();
}

void parseXML(struct TestData *td, unsigned long iter) {
    Parser doc;
    FILE16 *data;
    XBit tree;
    InputSource source;
    
    doc=NewParser();
    data=MakeFILE16FromString(td->xml,td->xmllen,"r");
    source=SourceFromFILE16("membuf",data);
    ParserPush(doc,source);
    tree=ReadXTree(doc);
    while ((tree->type!=XBIT_start)&&(tree->type!=XBIT_end)&&(tree->type!=XBIT_eof)) {
	if (tree->type==XBIT_error) {
	    ParserPerror(doc, tree);
	    exit(1);
	}
	FreeXTree(tree);
	tree=ReadXTree(doc);
    }
    FreeXTree(tree);
    FreeParser(doc); /* Closes source and data */
}


int main(int argc, char *argv[]) {
    return Test(argc,argv);
}