int ret;
if (node) {
ret = for_dentry_tree_in_rbtree(node->rb_left, visitor, arg);
- if (ret != 0)
+ if (ret)
return ret;
ret = for_dentry_in_tree(rbnode_dentry(node), visitor, arg);
- if (ret != 0)
+ if (ret)
return ret;
ret = for_dentry_tree_in_rbtree(node->rb_right, visitor, arg);
- if (ret != 0)
+ if (ret)
return ret;
}
return 0;
for_dentry_in_tree(struct wim_dentry *root,
int (*visitor)(struct wim_dentry*, void*), void *arg)
{
- int ret = visitor(root, arg);
- if (ret == 0) {
- ret = for_dentry_tree_in_rbtree(root->d_inode->i_children.rb_node,
- visitor,
- arg);
+ int ret = 0;
+
+ if (root) {
+ int ret = visitor(root, arg);
+ if (ret == 0) {
+ ret = for_dentry_tree_in_rbtree(root->d_inode->i_children.rb_node,
+ visitor,
+ arg);
+ }
}
return ret;
}
for_dentry_in_tree_depth(struct wim_dentry *root,
int (*visitor)(struct wim_dentry*, void*), void *arg)
{
- int ret;
- ret = for_dentry_tree_in_rbtree_depth(root->d_inode->i_children.rb_node,
- visitor, arg);
- if (ret == 0)
- ret = visitor(root, arg);
+ int ret = 0;
+ if (root) {
+ ret = for_dentry_tree_in_rbtree_depth(root->d_inode->i_children.rb_node,
+ visitor, arg);
+ if (ret == 0)
+ ret = visitor(root, arg);
+ }
return ret;
}
void
free_dentry_tree(struct wim_dentry *root, struct wim_lookup_table *lookup_table)
{
- if (root)
- for_dentry_in_tree_depth(root, do_free_dentry, lookup_table);
+ for_dentry_in_tree_depth(root, do_free_dentry, lookup_table);
}
/*
#ifdef __WIN32__
if (wcschr(L"<>:\"/\\|?*", (wchar_t)*p))
#else
- if (*p == '/')
+ if (*p == cpu_to_le16('/'))
#endif
{
#ifdef __WIN32__
*p = cpu_to_le16(0xfffd);
#else
- *p = '?';
+ *p = cpu_to_le16('?');
#endif
if (name) {
WARNING("File, directory, or stream name \"%"WS"\"\n"