3 #include "silcruntime.h"
6 SilcBool success = FALSE;
8 static void xml_start_element(SilcXMLParser parser,
10 SilcHashTable attributes,
13 fprintf(stderr, "<%s", name);
16 SilcHashTableList htl;
19 silc_hash_table_list(attributes, &htl);
20 while (silc_hash_table_get(&htl, (void *)&att, (void *)&val))
21 fprintf(stderr, " %s='%s'", att, val);
23 silc_hash_table_list_reset(&htl);
28 static void xml_end_element(SilcXMLParser parser,
32 fprintf(stderr, "</%s>", name);
35 static void xml_data(SilcXMLParser parser,
36 const unsigned char *data,
40 silc_file_write(2, data, data_len);
43 static void xml_pi(SilcXMLParser parser,
48 fprintf(stderr, "%s %s", target, data);
51 static SilcXMLParserHandlerStruct handler =
59 int main(int argc, char **argv)
61 SilcXMLParamsStruct params;
68 fprintf(stderr, "Usage: test_silcxml <filename>\n");
72 memset(¶ms, 0, sizeof(params));
73 parser = silc_xml_parser_create(¶ms, &handler, NULL);
77 if (!silc_xml_parse_file(parser, argv[1])) {
78 silc_errno_location(&file, &cur_line, NULL);
79 fprintf(stderr, "%s:%d: %s\n", file, cur_line, silc_errno_reason());
83 silc_xml_parser_free(parser);
88 SILC_LOG_DEBUG(("Testing was %s", success ? "SUCCESS" : "FAILURE"));
89 fprintf(stderr, "Testing was %s\n", success ? "SUCCESS" : "FAILURE");
91 silc_runtime_uninit();