glave: cleanup mem_info list as it shrinks during tracing
diff --git a/glave-generate.py b/glave-generate.py
index f284418..bb99ea0 100755
--- a/glave-generate.py
+++ b/glave-generate.py
@@ -886,9 +886,14 @@
         hf_body.append('        entry->size = 0;')
         hf_body.append('        entry->handle = NULL;')
         hf_body.append('')
-        hf_body.append('        //TODO go thru array and set numEntrys based on last valid entry g_memInfo.numEntrys--;')
         hf_body.append('        if (entry == g_memInfo.pLastMapped)')
         hf_body.append('            g_memInfo.pLastMapped = NULL;')
+        hf_body.append('        // adjust numEntrys to be last valid entry in list')
+        hf_body.append('        do {')
+        hf_body.append('            entry =  g_memInfo.pEntrys + g_memInfo.numEntrys - 1;')
+        hf_body.append('            if (entry->valid == FALSE)')
+        hf_body.append('                g_memInfo.numEntrys--;')
+        hf_body.append('        } while ((entry->valid == FALSE) && (g_memInfo.numEntrys > 0));')
         hf_body.append('        if (g_memInfo.numEntrys == 0)')
         hf_body.append('            delete_mem_info();')
         hf_body.append('    }')