From ecc6234c722a47257877442787d6c8a0112493d8 Mon Sep 17 00:00:00 2001 From: Silvan Jegen Date: Thu, 1 Sep 2016 19:54:12 +0200 Subject: Implement first version of the processing function --- mxml.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'mxml.c') diff --git a/mxml.c b/mxml.c index c773d78..0b503e4 100644 --- a/mxml.c +++ b/mxml.c @@ -3,7 +3,42 @@ #include +mxml_type_t type_cb(mxml_node_t *node) { + const char *type; + + type = mxmlElementGetAttr(node, "type"); + if (type == NULL) + type = mxmlGetElement(node); + + if (!strcmp(type, "integer")) + return (MXML_INTEGER); + else if (!strcmp(type, "opaque")) + return (MXML_OPAQUE) ; + else if (!strcmp(type, "real")) + return (MXML_REAL); + else + return (MXML_TEXT); +} + +int process(FILE *f) { + mxml_node_t *root; + const char* elename; + + root = mxmlLoadFile(NULL, f, type_cb); + elename = mxmlGetElement(root); + if (elename) + printf("%s\n", elename); +} + int main(int argc, char *argv[]) { + FILE *f; + + for (int i = 0; i < argc; i++) { + printf("%s\n", argv[i]); + f = fopen(argv[i], "r"); + process(f); + fclose(f); + } return 0; } -- cgit v1.2.1-18-gbd029