diff options
author | David Sommerseth <dazo@users.sourceforge.net> | 2009-09-01 23:42:57 +0200 |
---|---|---|
committer | David Sommerseth <dazo@users.sourceforge.net> | 2009-09-01 23:42:57 +0200 |
commit | 3d3c25c9d255bc8ebf469c8c50dd765654b81fab (patch) | |
tree | bed6506219ac31bb61395a16bd0525ec842f46fa /database/sqlite/sqlite.c | |
parent | 44b978bfaca38ebcd47913ac2709ee20baf021c5 (diff) | |
download | eurephia-3d3c25c9d255bc8ebf469c8c50dd765654b81fab.tar.gz eurephia-3d3c25c9d255bc8ebf469c8c50dd765654b81fab.tar.xz eurephia-3d3c25c9d255bc8ebf469c8c50dd765654b81fab.zip |
Only populate XML nodes if we have a value to populate it with
Diffstat (limited to 'database/sqlite/sqlite.c')
-rw-r--r-- | database/sqlite/sqlite.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/database/sqlite/sqlite.c b/database/sqlite/sqlite.c index ab94783..dfb56a6 100644 --- a/database/sqlite/sqlite.c +++ b/database/sqlite/sqlite.c @@ -524,19 +524,20 @@ xmlNodePtr sqlite_xml_value(xmlNodePtr node, xmlFieldType xmltyp, char *inname, assert( name != NULL ); data = xmlCharStrdup(sqlite_get_value(res, row, col)); - - switch( xmltyp ) { - case XML_ATTR: - xmlNewProp(node, name, data); - retnode = node; - break; - - case XML_NODE: - retnode = xmlNewChild(node, NULL, name, data); - break; - - default: - retnode = NULL; + if( xmlStrlen(data) > 0 ) { + switch( xmltyp ) { + case XML_ATTR: + xmlNewProp(node, name, data); + retnode = node; + break; + + case XML_NODE: + retnode = xmlNewChild(node, NULL, name, data); + break; + + default: + retnode = NULL; + } } free_nullsafe(data); free_nullsafe(name); |