X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fmount_image.c;h=83f176a12ce59d440350cdf0f9337befa0ce0da0;hb=6fbc434a762536773edda6b147795c4b1805a82b;hp=eeacf94d138864ab9c0bae8975d1ff0e475302a3;hpb=5538002965b9a7f08aef62c7b03194aa40bb0751;p=wimlib diff --git a/src/mount_image.c b/src/mount_image.c index eeacf94d..83f176a1 100644 --- a/src/mount_image.c +++ b/src/mount_image.c @@ -511,7 +511,7 @@ create_file(struct fuse_context *fuse_ctx, const char *path, } } - hlist_add_head(&inode->i_hlist, + hlist_add_head(&inode->i_hlist_node, &wim_get_current_image_metadata(wimfs_ctx->wim)->inode_list); dentry_add_child(parent, dentry); @@ -1061,7 +1061,7 @@ renew_current_image(struct wimfs_context *ctx) if (ret) goto err_free_new_blob; - ret = xml_add_image(wim, ""); + ret = xml_add_image(wim->xml_info, NULL); if (ret) goto err_undo_append; @@ -1678,7 +1678,7 @@ wimfs_read(const char *path, char *buf, size_t size, ret = size; break; case BLOB_IN_STAGING_FILE: - ret = raw_pread(&fd->f_staging_fd, buf, size, offset); + ret = pread(fd->f_staging_fd.fd, buf, size, offset); if (ret < 0) ret = -errno; break; @@ -1712,18 +1712,15 @@ wimfs_readdir(const char *path, void *buf, fuse_fill_dir_t filler, return ret; for_inode_child(child, inode) { - char *file_name_mbs; - size_t file_name_mbs_nbytes; + char *name; + size_t name_nbytes; - ret = utf16le_to_tstr(child->file_name, - child->file_name_nbytes, - &file_name_mbs, - &file_name_mbs_nbytes); - if (ret) + if (utf16le_to_tstr(child->d_name, child->d_name_nbytes, + &name, &name_nbytes)) return -errno; - ret = filler(buf, file_name_mbs, NULL, 0); - FREE(file_name_mbs); + ret = filler(buf, name, NULL, 0); + FREE(name); if (ret) return ret; } @@ -2037,7 +2034,7 @@ wimfs_write(const char *path, const char *buf, size_t size, struct wimfs_fd *fd = WIMFS_FD(fi); ssize_t ret; - ret = raw_pwrite(&fd->f_staging_fd, buf, size, offset); + ret = pwrite(fd->f_staging_fd.fd, buf, size, offset); if (ret < 0) return -errno;