+/*
+ * unix_capture.c: Capture a directory tree on UNIX.
+ */
+
/*
* Copyright (C) 2013 Eric Biggers
*
if (!dir) {
ERROR_WITH_ERRNO("Failed to open the directory `%s'",
path);
- return WIMLIB_ERR_OPEN;
+ return WIMLIB_ERR_OPENDIR;
}
/* Recurse on directory contents */
dest[deref_name_len] = '\0';
DEBUG("Read symlink `%s'", dest);
- if ((params->add_image_flags & WIMLIB_ADD_IMAGE_FLAG_RPFIX) &&
+ if ((params->add_flags & WIMLIB_ADD_FLAG_RPFIX) &&
dest[0] == '/')
{
dest = capture_fixup_absolute_symlink(dest,
struct wim_inode *inode;
if (exclude_path(path, path_len, params->config, true)) {
- if ((params->add_image_flags & WIMLIB_ADD_IMAGE_FLAG_EXCLUDE_VERBOSE)
+ if ((params->add_flags & WIMLIB_ADD_FLAG_EXCLUDE_VERBOSE)
&& params->progress_func)
{
union wimlib_progress_info info;
goto out;
}
- if ((params->add_image_flags & WIMLIB_ADD_IMAGE_FLAG_VERBOSE)
+ if ((params->add_flags & WIMLIB_ADD_FLAG_VERBOSE)
&& params->progress_func)
{
union wimlib_progress_info info;
struct stat stbuf;
int (*stat_fn)(const char *restrict, struct stat *restrict);
- if ((params->add_image_flags & WIMLIB_ADD_IMAGE_FLAG_DEREFERENCE) ||
- (params->add_image_flags & WIMLIB_ADD_IMAGE_FLAG_ROOT))
+ if ((params->add_flags & WIMLIB_ADD_FLAG_DEREFERENCE) ||
+ (params->add_flags & WIMLIB_ADD_FLAG_ROOT))
stat_fn = stat;
else
stat_fn = lstat;
ret = (*stat_fn)(path, &stbuf);
- if (ret != 0) {
+ if (ret) {
ERROR_WITH_ERRNO("Failed to stat `%s'", path);
+ ret = WIMLIB_ERR_STAT;
goto out;
}
if (!S_ISREG(stbuf.st_mode) && !S_ISDIR(stbuf.st_mode)
inode->i_last_access_time = unix_timestamp_to_wim(stbuf.st_atime);
#endif
inode->i_resolved = 1;
- if (params->add_image_flags & WIMLIB_ADD_IMAGE_FLAG_UNIX_DATA) {
+ if (params->add_flags & WIMLIB_ADD_FLAG_UNIX_DATA) {
ret = inode_set_unix_data(inode, stbuf.st_uid,
stbuf.st_gid,
stbuf.st_mode,
if (ret)
goto out;
}
- params->add_image_flags &= ~WIMLIB_ADD_IMAGE_FLAG_ROOT;
+ params->add_flags &= ~WIMLIB_ADD_FLAG_ROOT;
if (S_ISREG(stbuf.st_mode))
ret = unix_capture_regular_file(path, stbuf.st_size,
inode, params->lookup_table);
return WIMLIB_ERR_STAT;
}
- if ((params->add_image_flags & WIMLIB_ADD_IMAGE_FLAG_ROOT) &&
+ if ((params->add_flags & WIMLIB_ADD_FLAG_ROOT) &&
!S_ISDIR(root_stbuf.st_mode))
{
ERROR("Root of capture \"%s\" is not a directory",