aboutsummaryrefslogtreecommitdiff
path: root/xml.c
diff options
context:
space:
mode:
authormegazig <megazig@megazig-desktop.(none)>2009-05-05 02:11:50 -0500
committermegazig <megazig@megazig-desktop.(none)>2009-05-05 02:11:50 -0500
commit13bdaddd0b87772320d906645f6eb311cbb16fce (patch)
tree0578ab9111a3dc3a32d079d8fcf756203b0140a3 /xml.c
parent1e730edd34e2a1a7153cbf47290fd8fa5ff06661 (diff)
xml output formatting
Diffstat (limited to '')
-rw-r--r--xml.c111
1 files changed, 110 insertions, 1 deletions
diff --git a/xml.c b/xml.c
index cd04b34..7556937 100644
--- a/xml.c
+++ b/xml.c
@@ -17,7 +17,7 @@ get_value(mxml_node_t *node, /* I - Node to get */
ptr = (char*)buffer;
end = (char*)buffer + buflen - 1;
- char tempbuf[256];
+ char tempbuf[4092];
current = node->child;
for (current = node->child; current && ptr < end; current = current->next)
{
@@ -66,3 +66,112 @@ get_value(mxml_node_t *node, /* I - Node to get */
*ptr = 0;
return buffer;
}
+
+const char *whitespace_cb(mxml_node_t *node, int where)
+{
+ const char *name;
+ name = node->value.element.name;
+
+ if (!strcmp(name, "xmlan"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return("\n");
+ }
+ if (!strcmp(name, "timg"))
+ {
+ if (where == MXML_WS_BEFORE_OPEN)
+ return("\n");
+ }
+ else if (!strcmp(name, "pane"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return ("\n\t");
+ }
+ else if (!strcmp(name, "tag"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return ("\n\t\t");
+ }
+ else if (!strcmp(name, "entry"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return ("\n\t\t\t");
+ }
+ else if (!strcmp(name, "triplet") ||
+ !strcmp(name, "pair"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return ("\n\t\t\t\t");
+ }
+ else if (!strcmp(name, "frame") ||
+ !strcmp(name, "value") ||
+ !strcmp(name, "blend") ||
+ !strcmp(name, "data1") ||
+ !strcmp(name, "data2") ||
+ !strcmp(name, "padding"))
+ {
+ if (where == MXML_WS_BEFORE_OPEN)
+ return ("\n\t\t\t\t\t");
+ }
+ else if (!strcmp(name, "xmlyt"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return("\n");
+ }
+ else if (!strcmp(name, "tag"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return ("\n\t");
+ }
+ else if (!strcmp(name, "a") ||
+ !strcmp(name, "size") ||
+ !strcmp(name, "entries"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return ("\n\t\t");
+ }
+ else if (!strcmp(name, "data") ||
+ !strcmp(name, "name"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN))
+ return ("\n\t\t\t");
+ }
+ else if (!strcmp(name, "colors") ||
+ !strcmp(name, "wrap_t") ||
+ !strcmp(name, "wrap_s") ||
+ !strcmp(name, "material"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return ("\n\t\t\t");
+ }
+ else if (!strcmp(name, "black_color") ||
+ !strcmp(name, "white_color") ||
+ !strcmp(name, "unk2") ||
+ !strcmp(name, "tev_k"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN))
+ {
+ return ("\n\t\t\t\t");
+ }
+ }
+ else if (!strcmp(name, "flags") ||
+ !strcmp(name, "ua2") ||
+ !strcmp(name, "ua3") ||
+ !strcmp(name, "ua4") ||
+ !strcmp(name, "ua5") ||
+ !strcmp(name, "ua6") ||
+ !strcmp(name, "ua7") ||
+ !strcmp(name, "ua8") ||
+ !strcmp(name, "ua9") ||
+ !strcmp(name, "uaa") ||
+ !strcmp(name, "uab"))
+ {
+ if ((where == MXML_WS_BEFORE_OPEN) || (where == MXML_WS_BEFORE_CLOSE))
+ return ("\n\t\t\t");
+ }
+ /*
+ * Return NULL for no added whitespace...
+ */
+ return (NULL);
+}
+