]> git.mxchange.org Git - flightgear.git/blobdiff - utils/xmlgrep/xml_cache.c
disambiguate pow usage
[flightgear.git] / utils / xmlgrep / xml_cache.c
index 866259d2aef8782d61063bba101dd312d7706c3a..7de2e83bd014a5dc9b8b3b5828e8aaa1dce9257e 100644 (file)
@@ -117,7 +117,7 @@ __xmlNodeGetFromCache(void **nc, const char *start, size_t *len,
             assert(node);
 
             if ((node->name_len == namelen) &&
-                (!memcmp(node->name, name, namelen)))
+                (!strncasecmp(node->name, name, namelen)))
             {
                  if (pos == num)
                  {
@@ -159,19 +159,22 @@ void
 cacheFree(void *nc)
 {
     struct _xml_node *cache = (struct _xml_node *)nc;
-    struct _xml_node **node;
-    size_t i = 0;
 
     assert(nc != 0);
 
-    node = (struct _xml_node **)cache->node;
-    while(i < cache->first_free)
+    if (cache->first_free)
     {
-        cacheFree(node[i++]);
-    }
+        struct _xml_node **node = (struct _xml_node **)cache->node;
+        size_t i = 0;
+
+        while(i < cache->first_free)
+        {
+            cacheFree(node[i++]);
+        }
 
-    free(node);
-    /* free(cache); */
+        free(node);
+    }
+    free(cache);
 }
 
 void *
@@ -231,8 +234,6 @@ void
 cacheDataSet(void *n, char *name, size_t namelen, char *data, size_t datalen)
 {
    struct _xml_node *node = (struct _xml_node *)n;
-   size_t len = datalen;
-   char *ptr = data;
 
    assert(node != 0);
    assert(name != 0);