}
static int
-unix_create_file(const char *path, struct apply_ctx *ctx)
+unix_create_file(const char *path, struct apply_ctx *ctx, u64 *cookie_ret)
{
int fd = open(path, O_TRUNC | O_CREAT | O_WRONLY, 0644);
if (fd < 0)
}
static int
-unix_create_directory(const tchar *path, struct apply_ctx *ctx)
+unix_create_directory(const tchar *path, struct apply_ctx *ctx, u64 *cookie_ret)
{
struct stat stbuf;
if (errno != EEXIST)
return WIMLIB_ERR_MKDIR;
if (lstat(path, &stbuf))
- return WIMLIB_ERR_STAT;
+ return WIMLIB_ERR_MKDIR;
errno = EEXIST;
if (!S_ISDIR(stbuf.st_mode))
- return WIMLIB_ERR_NOTDIR;
+ return WIMLIB_ERR_MKDIR;
}
return 0;
}
}
static int
-unix_extract_unnamed_stream(const tchar *path,
+unix_extract_unnamed_stream(file_spec_t file,
struct wim_lookup_table_entry *lte,
struct apply_ctx *ctx)
{
+ const char *path = file.path;
struct filedes fd;
int raw_fd;
int ret;