]> git.vpit.fr Git - perl/modules/Variable-Magic.git/commitdiff
Skip NULL values when walking a table
authorVincent Pit <vince@profvince.com>
Thu, 28 Oct 2010 22:19:32 +0000 (00:19 +0200)
committerVincent Pit <vince@profvince.com>
Thu, 28 Oct 2010 22:19:32 +0000 (00:19 +0200)
ptable_fetch already returns NULL for nonexistent entries, so NULL can't
possibly have any other meaning than "this node is not currently in use".

ptable.h

index 055f0a5cd008d2471c620c8321996e023e118a7a..e6e2fd47f9ee2587e56bb5d4a4638aa045ef2723 100644 (file)
--- a/ptable.h
+++ b/ptable.h
@@ -206,7 +206,8 @@ STATIC void ptable_walk(pTHX_ ptable * const t, void (*cb)(pTHX_ ptable_ent *ent
   do {
    ptable_ent *entry;
    for (entry = array[i]; entry; entry = entry->next)
-    cb(aTHX_ entry, userdata);
+    if (entry->val)
+     cb(aTHX_ entry, userdata);
   } while (i--);
  }
 }