X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fiterate_dir.c;h=9fed454ab6b45d63477e8ee1897820088b031eea;hp=5bf138cc49e33c1da83ec9fbf9c922b29d2e474f;hb=4ec53db826c4c4cfa8b8ddde6c28f11eafea0919;hpb=681faad85f738a5ef1fc81c1dbe93c9b7d57ece4 diff --git a/src/iterate_dir.c b/src/iterate_dir.c index 5bf138cc..9fed454a 100644 --- a/src/iterate_dir.c +++ b/src/iterate_dir.c @@ -91,12 +91,12 @@ init_wimlib_dentry(struct wimlib_dir_entry *wdentry, struct wim_dentry *dentry, const struct wim_inode_stream *strm; struct wimlib_unix_data unix_data; - ret = utf16le_get_tstr(dentry->file_name, dentry->file_name_nbytes, + ret = utf16le_get_tstr(dentry->d_name, dentry->d_name_nbytes, &wdentry->filename, &dummy); if (ret) return ret; - ret = utf16le_get_tstr(dentry->short_name, dentry->short_name_nbytes, + ret = utf16le_get_tstr(dentry->d_short_name, dentry->d_short_name_nbytes, &wdentry->dos_name, &dummy); if (ret) return ret; @@ -104,12 +104,12 @@ init_wimlib_dentry(struct wimlib_dir_entry *wdentry, struct wim_dentry *dentry, ret = calculate_dentry_full_path(dentry); if (ret) return ret; - wdentry->full_path = dentry->_full_path; + wdentry->full_path = dentry->d_full_path; for (struct wim_dentry *d = dentry; !dentry_is_root(d); d = d->d_parent) wdentry->depth++; - if (inode->i_security_id >= 0) { + if (inode_has_security_descriptor(inode)) { struct wim_security_data *sd; sd = wim_get_current_security_data(wim); @@ -219,6 +219,8 @@ do_iterate_dir_tree(WIMStruct *wim, } } out_free_wimlib_dentry: + FREE(dentry->d_full_path); + dentry->d_full_path = NULL; free_wimlib_dentry(wdentry); out: return ret;