]> wimlib.net Git - wimlib/blobdiff - src/lookup_table.c
--disable-multithreaded-compression option
[wimlib] / src / lookup_table.c
index cc71c8bec4e19b6adc6a59e0a04bb6fb9d8e67a4..36d2d13f69430518dcdafbf59b2649a75af25152 100644 (file)
@@ -122,6 +122,8 @@ clone_lookup_table_entry(const struct lookup_table_entry *old)
                }
                break;
 #endif
+       default:
+               break;
        }
        return new;
 out_free:
@@ -217,8 +219,8 @@ static void finalize_lte(struct lookup_table_entry *lte)
 void lte_decrement_refcnt(struct lookup_table_entry *lte,
                          struct lookup_table *table)
 {
-       wimlib_assert(lte);
-       wimlib_assert(lte->refcnt);
+       wimlib_assert(lte != NULL);
+       wimlib_assert(lte->refcnt != 0);
        if (--lte->refcnt == 0) {
                lookup_table_unlink(table, lte);
        #ifdef WITH_FUSE
@@ -231,9 +233,9 @@ void lte_decrement_refcnt(struct lookup_table_entry *lte,
 #ifdef WITH_FUSE
 void lte_decrement_num_opened_fds(struct lookup_table_entry *lte)
 {
-       wimlib_assert(lte);
-       wimlib_assert(lte->num_opened_fds);
-       if (--lte->num_opened_fds == 0 && lte->refcnt == 0)
+       wimlib_assert(lte != NULL);
+       wimlib_assert(lte->num_opened_fds != 0);
+       if (atomic_dec(&lte->num_opened_fds) == 0 && lte->refcnt == 0)
                finalize_lte(lte);
 }
 #endif