return (dentry_correct_length_unaligned(dentry) + 7) & ~7;
}
-/* Return %true iff @dentry has the UTF-8 file name @name that has length
- * @name_len bytes. */
-static bool dentry_has_name(const struct dentry *dentry, const char *name,
- size_t name_len)
-{
- if (dentry->file_name_utf8_len != name_len)
- return false;
- return memcmp(dentry->file_name_utf8, name, name_len) == 0;
-}
-
/* Return %true iff the alternate data stream entry @entry has the UTF-8 stream
* name @name that has length @name_len bytes. */
static inline bool ads_entry_has_name(const struct ads_entry *entry,
#ifdef RECURSIVE_FOR_DENTRY_IN_TREE
static int for_dentry_tree_in_rbtree(struct rb_node *node,
- int (*visitor)(struct dentry*, void*),
- void *arg)
+ int (*visitor)(struct dentry*, void*),
+ void *arg)
{
int ret;
if (node) {
- ret = for_dentry_tree_in_rbtree(node->rb_left,
- visitor, arg);
+ ret = for_dentry_tree_in_rbtree(node->rb_left, visitor, arg);
if (ret != 0)
return ret;
ret = for_dentry_in_tree(rbnode_dentry(node), visitor, arg);
if (ret != 0)
return ret;
- ret = for_dentry_tree_in_rbtree(node->rb_right,
- visitor, arg);
+ ret = for_dentry_tree_in_rbtree(node->rb_right, visitor, arg);
if (ret != 0)
return ret;
}
inode->link_count = 1;
#ifdef WITH_FUSE
inode->next_stream_id = 1;
+ if (pthread_mutex_init(&inode->i_mutex, NULL) != 0) {
+ ERROR_WITH_ERRNO("Error initializing mutex");
+ FREE(inode);
+ return NULL;
+ }
#endif
INIT_LIST_HEAD(&inode->dentry_list);
}
#ifdef WITH_FUSE
wimlib_assert(inode->num_opened_fds == 0);
FREE(inode->fds);
+ pthread_mutex_destroy(&inode->i_mutex);
#endif
FREE(inode->extracted_file);
FREE(inode);
struct dentry *dentry)
{
u64 cur_offset = dentry->subdir_offset;
- struct dentry *prev_child = NULL;
- struct dentry *first_child = NULL;
struct dentry *child;
struct dentry cur_child;
int ret;