]> wimlib.net Git - wimlib/blobdiff - src/dentry.h
free_inode(): Fix deletion of inode from list
[wimlib] / src / dentry.h
index 180897040d49747f1ce75898a9df57e30b9016f4..0d3f89e3b0de54b4386ad7c18dfe62216d6cfc09 100644 (file)
@@ -197,7 +197,6 @@ struct dentry {
         */
        u64 length;
 
-
        /* The offset, from the start of the uncompressed WIM metadata resource
         * for this image, of this dentry's child dentries.  0 if the directory
         * entry has no children, which is the case for regular files or reparse
@@ -208,7 +207,7 @@ struct dentry {
         * WIMStructs */
        u32 refcnt;
 
-       u32   full_path_utf8_len;
+       u32 full_path_utf8_len;
 
        /* Pointer to the UTF-16 short filename (malloc()ed buffer) */
        char *short_name;
@@ -320,10 +319,7 @@ struct inode {
                list_for_each_entry((dentry), &(inode)->dentry_list, inode_dentry_list)
 
 #define inode_add_dentry(dentry, inode) \
-       ({                                                              \
-               wimlib_assert((inode)->dentry_list.next != NULL);               \
-               list_add(&(dentry)->inode_dentry_list, &(inode)->dentry_list);  \
-       })
+               list_add_tail(&(dentry)->inode_dentry_list, &(inode)->dentry_list)
 
 static inline bool dentry_is_first_in_inode(const struct dentry *dentry)
 {
@@ -362,7 +358,10 @@ extern struct dentry *get_parent_dentry(struct WIMStruct *w, const char *path);
 extern int print_dentry(struct dentry *dentry, void *lookup_table);
 extern int print_dentry_full_path(struct dentry *entry, void *ignore);
 
+#ifdef WITH_FUSE
 extern struct dentry *new_dentry(const char *name);
+#endif
+
 extern struct dentry *new_dentry_with_inode(const char *name);
 extern struct dentry *new_dentry_with_timeless_inode(const char *name);