diff options
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); |