X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fdentry.h;h=f87353e93eb9a7a460020ca501b1746820ecb08d;hp=e2b629469988a4d7f5db6c1109f98a1917d09a83;hb=31f38a9a7a9ed5dc2c32bbb5fecd4050809a561c;hpb=63a5804943519281f206ca0fefacfe2b99fc9958 diff --git a/src/dentry.h b/src/dentry.h index e2b62946..f87353e9 100644 --- a/src/dentry.h +++ b/src/dentry.h @@ -189,7 +189,10 @@ struct inode { list_for_each_entry((dentry), &(inode)->dentry_list, inode_dentry_list) #define inode_add_dentry(dentry, inode) \ - list_add(&(dentry)->inode_dentry_list, &(inode)->dentry_list) + ({ \ + wimlib_assert((inode)->dentry_list.next != NULL); \ + list_add(&(dentry)->inode_dentry_list, &(inode)->dentry_list); \ + }) /* * In-memory structure for a WIM directory entry (dentry). There is a directory @@ -352,6 +355,7 @@ extern struct dentry *new_dentry(const char *name); extern struct inode *new_inode(); extern struct inode *new_timeless_inode(); extern struct dentry *new_dentry_with_inode(const char *name); +extern struct dentry *new_dentry_with_timeless_inode(const char *name); extern void free_ads_entry(struct ads_entry *entry); extern void inode_free_ads_entries(struct inode *inode);