]> git.mxchange.org Git - flightgear.git/blobdiff - utils/xmlgrep/xml.c
Bugfixes and some finetuning:
[flightgear.git] / utils / xmlgrep / xml.c
index c021422800d246bc1ed802a3e0b05c514d96fd2d..5357ed81afd4d2706b9dffab66d81f3275dfac85 100644 (file)
@@ -465,10 +465,11 @@ xmlGetString(const void *id)
         char *ps;
 
         ps = xid->start;
-        len = xid->len;
+        len = xid->len-1;
         __xmlPrepareData(&ps, &len);
         if (len)
         {
+            len++;
             str = malloc(len+1);
             if (str)
             {
@@ -619,7 +620,7 @@ xmlNodeCopyString(const void *id, const char *path, char *buffer, size_t buflen)
                 memcpy(buffer, p, len);
                 *(buffer+len) = '\0';
             }
-            ret = 0;
+            ret = len;
         }
         else if (slen == 0)
         {
@@ -1345,13 +1346,9 @@ __xmlNodeGetPath(void **nc, const char *start, size_t *len, char **name, size_t
 
     assert(start != 0);
     assert(len != 0);
-    assert(*len != 0);
     assert(name != 0);
     assert(*name != 0);
     assert(nlen != 0);
-    assert(*nlen != 0);
-
-    if (*nlen > *len) return 0;
 
     path = *name;
     if (*path == '/') path++;