]> granicus.if.org Git - zziplib/commitdiff
check on null in macros
authorGuido Draheim <guidod@gmx.de>
Mon, 5 Feb 2018 11:50:37 +0000 (12:50 +0100)
committerGuido Draheim <guidod@gmx.de>
Mon, 5 Feb 2018 11:50:37 +0000 (12:50 +0100)
zzip/memdisk.h
zzip/mmapped.c

index a2bb3eb174edc93b23c82ff1e4b52e85399691cb..5cf0eced46080a2788deef1b696d9c683d2cfae8 100644 (file)
@@ -76,9 +76,9 @@ struct _zzip_mem_entry {
     zzip_size_t       zz_extlen[3]; /* the extra blocks are NOT converted */
 };                                
 
-#define _zzip_mem_disk_findfirst(_d_) ((_d_)->list)
-#define _zzip_mem_disk_findnext(_d_,_e_) (!(_e_)?(_d_)->list:(_e_)->zz_next)
-#define _zzip_mem_entry_findnext(_e_) ((_e_)->zz_next)
+#define _zzip_mem_disk_findfirst(_d_)   (!(_d_) ? 0 : ((_d_)->list))
+#define _zzip_mem_disk_findnext(_d_,_e_) (!(_e_) ? (!(_d_) ? 0 : ((_d_)->list)) : ((_e_)->zz_next))
+#define _zzip_mem_entry_findnext(_e_) (!(_e_) ? 0 : ((_e_)->zz_next))
 
 #ifndef USE_INLINE
 #define zzip_mem_disk_findfirst _zzip_mem_disk_findfirst
@@ -100,10 +100,10 @@ zzip_mem_entry_findnext(ZZIP_MEM_ENTRY* entry) {
     return _zzip_mem_entry_findnext(entry); }
 #endif
 
-#define _zzip_mem_entry_to_name(_e_) ((_e_)->zz_name)
-#define _zzip_mem_entry_to_comment(_e_) ((_e_)->zz_comment)
-#define _zzip_mem_entry_strdup_name(_e_) (strdup((_e_)->zz_name))
-#define _zzip_mem_entry_to_data(_e_) ((_e_)->zz_data)
+#define _zzip_mem_entry_to_name(_e_) (!(_e_) ? 0 : ((_e_)->zz_name))
+#define _zzip_mem_entry_to_comment(_e_) (!(_e_) ? 0 : ((_e_)->zz_comment))
+#define _zzip_mem_entry_strdup_name(_e_) (!(_e_) ? 0 : (strdup((_e_)->zz_name)))
+#define _zzip_mem_entry_to_data(_e_) (!(_e_) ? 0 : ((_e_)->zz_data))
 
 #ifndef USE_INLINE
 #define zzip_mem_entry_to_name _zzip_mem_entry_to_name
index c1b8e391866cbda18857029c00cec184a0a06648..5fb6fbfdd3c30bf228ada3e0fe2ddc27cc129247 100644 (file)
@@ -460,7 +460,7 @@ zzip_disk_findfirst(ZZIP_DISK * disk)
         }
         if (zzip_disk_entry_check_magic(root))
         {
-            DBG1("found the disk root");
+            DBG2("found the disk root %p", root);
             return (struct zzip_disk_entry *) root;
         }
     } ____;