void
xclose (int fd)
{
- if (close (fd) != 0)
+ if (close (fd) < 0)
close_error (_("(pipe)"));
}
{
struct stat st;
- if (fstat (archive, &st))
+ if (fstat (archive, &st) < 0)
{
stat_diag (*archive_name_cursor);
return false;
if (verify_option)
verify_volume ();
- if (rmtclose (archive) != 0)
+ if (rmtclose (archive) < 0)
close_error (*archive_name_cursor);
sys_wait_for_child (child_pid, hit_eof);
write_fatal_details (char const *name, ssize_t status, idx_t size)
{
write_error_details (name, status, size);
- if (rmtclose (archive) != 0)
+ if (rmtclose (archive) < 0)
close_error (*archive_name_cursor);
sys_wait_for_child (child_pid, false);
fatal_exit ();
quotearg_colon (volno_file_option));
if (ferror (file))
read_error (volno_file_option);
- if (fclose (file) != 0)
+ if (fclose (file) < 0)
close_error (volno_file_option);
}
else if (errno != ENOENT)
fprintf (file, "%jd\n", global_volno);
if (ferror (file))
write_error (volno_file_option);
- if (fclose (file) != 0)
+ if (fclose (file) < 0)
close_error (volno_file_option);
}
else
continued_file_size = continued_file_offset = 0;
current_block = record_start;
- if (rmtclose (archive) != 0)
+ if (rmtclose (archive) < 0)
close_error (*archive_name_cursor);
archive_name_cursor++;
{
if (volno_file_option)
closeout_volume_number ();
- if (sys_exec_info_script (archive_name_cursor, global_volno + 1))
+ if (sys_exec_info_script (archive_name_cursor, global_volno + 1) != 0)
paxfatal (0, _("%s command failed"), quote (info_script_option));
}
else
return false;
}
- if (strcmp (continued_file_name, bufmap_head->file_name))
+ if (strcmp (continued_file_name, bufmap_head->file_name) != 0)
{
if ((archive_format == GNU_FORMAT || archive_format == OLDGNU_FORMAT)
&& strlen (bufmap_head->file_name) >= NAME_FIELD_SIZE
ws.ws_delim = ",";
if (wordsplit (arg, &ws,
(WRDSF_NOVAR | WRDSF_NOCMD
- | WRDSF_QUOTE | WRDSF_DELIM)))
+ | WRDSF_QUOTE | WRDSF_DELIM))
+ != WRDSE_OK)
paxerror (0, _("cannot split string '%s': %s"),
arg, wordsplit_strerror (&ws));
else if (3 < ws.ws_wordc)
return false;
}
- if (memcmp (buffer, diff_buffer, bytes))
+ if (memcmp (buffer, diff_buffer, bytes) != 0)
{
report_difference (¤t_stat_info, _("Contents differ"));
return false;
{
struct timespec atime = get_stat_atime (&stat_data);
if (set_file_atime (diff_handle, chdir_fd, file_name, atime)
- != 0)
+ < 0)
utime_error (file_name);
}
int fd = subfile_open (dir->parent, dir->orig_file_name, open_read_flags);
if (fd < 0)
diag = open_diag;
- else if (fstat (fd, &dir->stat))
+ else if (fstat (fd, &dir->stat) < 0)
{
diag = stat_diag;
close (fd);
if (dumpdir_buffer)
{
- if (dumpdir_cmp (dir->dumpdir, dumpdir_buffer))
+ if (dumpdir_cmp (dir->dumpdir, dumpdir_buffer) != 0)
report_difference (dir, _("Contents differ"));
}
else
break;
}
st.fd = fd;
- if (fstat (fd, &st.stat) != 0)
+ if (fstat (fd, &st.stat) < 0)
{
file_removed_diag (p->name, !p->parent,
stat_diag);
if (parentfd < 0)
parentfd = - errno;
- else if (! (fstat (parentfd, &parentstat) == 0
- && parent->stat.st_ino == parentstat.st_ino
- && parent->stat.st_dev == parentstat.st_dev))
+ else if (fstat (parentfd, &parentstat) < 0
+ || parent->stat.st_ino != parentstat.st_ino
+ || parent->stat.st_dev != parentstat.st_dev)
{
close (parentfd);
parentfd = IMPOSTOR_ERRNO;
open_searchdir_flags);
if (0 <= origfd)
{
- if (fstat (parentfd, &parentstat) == 0
- && parent->stat.st_ino == parentstat.st_ino
- && parent->stat.st_dev == parentstat.st_dev)
- parentfd = origfd;
- else
+ if (fstat (parentfd, &parentstat) < 0
+ || parent->stat.st_ino != parentstat.st_ino
+ || parent->stat.st_dev != parentstat.st_dev)
close (origfd);
+ else
+ parentfd = origfd;
}
}
errno = - parentfd;
diag = open_diag;
}
- else if (fstatat (parentfd, name, &st->stat, fstatat_flags) != 0)
+ else if (fstatat (parentfd, name, &st->stat, fstatat_flags) < 0)
diag = stat_diag;
else if (file_dumpable_p (&st->stat))
{
else
{
st->fd = fd;
- if (fstat (fd, &st->stat) != 0)
+ if (fstat (fd, &st->stat) < 0)
diag = stat_diag;
}
}
}
else if (atime_preserve_option == replace_atime_preserve
&& timespec_cmp (st->atime, get_stat_atime (&st2)) != 0
- && set_file_atime (fd, parentfd, name, st->atime) != 0)
+ && set_file_atime (fd, parentfd, name, st->atime) < 0)
utime_error (p);
}
if (! acting_as_filter && ! _isrmt (archive))
{
- if (sys_truncate (archive))
+ if (sys_truncate (archive) < 0)
truncate_warn (archive_name_array[0]);
}
}
options |= EXCLUDE_ALLOC;
if (wordsplit (pattern, &ws,
- WRDSF_NOVAR | WRDSF_NOCMD | WRDSF_SQUEEZE_DELIMS))
+ WRDSF_NOVAR | WRDSF_NOCMD | WRDSF_SQUEEZE_DELIMS)
+ != WRDSE_OK)
return;
for (idx_t i = 0; i < ws.ws_wordc; i++)
add_exclude (ex, ws.ws_wordv[i], options);
if (MODE_ALL & ~ mode_mask & ~ current_mode_mask)
{
struct stat st;
- if (fd_stat (fd, file_name, &st, atflag) != 0)
+ if (fd_stat (fd, file_name, &st, atflag) < 0)
{
stat_error (file_name);
return;
if (current_mode != mode)
{
- if (fd_chmod (fd, file_name, mode, atflag, typeflag))
+ if (fd_chmod (fd, file_name, mode, atflag, typeflag) < 0)
chmod_error_details (file_name, mode);
}
}
struct stat st;
h->after_links = 1;
- if (deref_stat (h->file_name, &st) != 0)
+ if (deref_stat (h->file_name, &st) < 0)
stat_error (h->file_name);
else
{
{
struct stat real_st;
if (fstatat (chdir_fd, data->file_name,
- &real_st, data->atflag) != 0)
+ &real_st, data->atflag)
+ < 0)
{
stat_error (data->file_name);
}
for (data = delayed_set_stat_head; data; data = data->next)
{
struct stat st;
- if (fstatat (chdir_fd, data->file_name, &st, data->atflag) != 0)
+ if (fstatat (chdir_fd, data->file_name, &st, data->atflag) < 0)
{
stat_error (data->file_name);
return;
*parent_end = '\0';
struct stat st;
int stat_status = fstatat (chdir_fd, file_name, &st, 0);
- if (!stat_status && !S_ISDIR (st.st_mode))
+ if (! (stat_status < 0 || S_ISDIR (st.st_mode)))
stat_status = -1;
- if (stat_status)
+ if (stat_status < 0)
{
errno = parent_errno;
mkdir_error (file_name);
if (!stp)
{
- if (deref_stat (file_name, &st) != 0)
+ if (deref_stat (file_name, &st) < 0)
{
if (errno != ENOENT)
{
break;
if (strchr (file_name, '/'))
{
- if (deref_stat (file_name, &st) != 0)
+ if (deref_stat (file_name, &st) < 0)
break;
stp = &st;
}
if (check_for_renamed_directories)
{
- if (fstatat (chdir_fd, data->file_name, &st, data->atflag) != 0)
+ if (fstatat (chdir_fd, data->file_name, &st, data->atflag) < 0)
{
stat_error (data->file_name);
skip_this_one = 1;
{
struct stat st;
- if (fstatat (chdir_fd, ".", &st, 0) != 0)
+ if (fstatat (chdir_fd, ".", &st, 0) < 0)
stat_diag (".");
else
root_device = st.st_dev;
else
{
struct stat st;
- if (fstat (fd, &st) != 0)
+ if (fstat (fd, &st) < 0)
{
int e = errno;
close (fd);
if (!delayed_link_table)
return false;
- if (fstatat (chdir_fd, name, &st, AT_SYMLINK_NOFOLLOW))
+ if (fstatat (chdir_fd, name, &st, AT_SYMLINK_NOFOLLOW) < 0)
{
if (errno != ENOENT)
stat_error (name);
}
}
- if (fstat (fd, &st) != 0)
+ if (fstat (fd, &st) < 0)
{
stat_error (file_name);
close (fd);
}
- else if (close (fd) != 0)
+ else if (close (fd) < 0)
close_error (file_name);
else
{
|| contains_dot_dot (current_stat_info.link_name)))
return create_placeholder_file (file_name, true, &interdir_made);
- while (symlinkat (current_stat_info.link_name, chdir_fd, file_name) != 0)
+ while (symlinkat (current_stat_info.link_name, chdir_fd, file_name) < 0)
switch (maybe_recoverable (file_name, false, &interdir_made))
{
case RECOVER_OK:
& ~ (0 < same_owner_option ? S_IRWXG | S_IRWXO : 0));
while (mknodat (chdir_fd, file_name, mode, current_stat_info.stat.st_rdev)
- != 0)
+ < 0)
switch (maybe_recoverable (file_name, false, &interdir_made))
{
case RECOVER_OK:
mode_t mode = (current_stat_info.stat.st_mode & MODE_RWX
& ~ (0 < same_owner_option ? S_IRWXG | S_IRWXO : 0));
- while (mkfifoat (chdir_fd, file_name, mode) != 0)
+ while (mkfifoat (chdir_fd, file_name, mode) < 0)
switch (maybe_recoverable (file_name, false, &interdir_made))
{
case RECOVER_OK:
{
/* Unlink the placeholder, then create a hard link if possible,
a symbolic link otherwise. */
- if (unlinkat (chdir_fd, source, 0) != 0)
+ if (unlinkat (chdir_fd, source, 0) < 0)
unlink_error (source);
else if (valid_source
&& (linkat (chdir_fd, valid_source, chdir_fd, source, 0)
;
else if (!ds->is_symlink)
{
- if (linkat (chdir_fd, ds->target, chdir_fd, source, 0) != 0)
+ if (linkat (chdir_fd, ds->target, chdir_fd, source, 0) < 0)
link_error (ds->target, source);
}
- else if (symlinkat (ds->target, chdir_fd, source) != 0)
+ else if (symlinkat (ds->target, chdir_fd, source) < 0)
symlink_error (ds->target, source);
else
{
if (directory)
{
struct stat st;
- if (fstat (parent->fd, &st) != 0)
+ if (fstat (parent->fd, &st) < 0)
stat_diag (directory->name);
else
directory->mtime = get_stat_mtime (&st);
diag = open_diag;
}
else if (fstatat (fd, entry + 1, &stsub.stat,
- fstatat_flags) != 0)
+ fstatat_flags)
+ < 0)
diag = stat_diag;
else if (S_ISDIR (stsub.stat.st_mode))
{
else
{
stsub.fd = subfd;
- if (fstat (subfd, &stsub.stat) != 0)
+ if (fstat (subfd, &stsub.stat) < 0)
diag = stat_diag;
}
}
int c;
idx_t i;
- for (i = 0, c = getc (fp); c != EOF && c != 0; c = getc (fp), i++)
+ for (i = 0; 0 < (c = getc (fp)); i++)
obstack_1grow (stk, c);
obstack_1grow (stk, 0);
break;
ino = i;
- if (read_obstack (listed_incremental_stream, &stk, &s))
+ if (read_obstack (listed_incremental_stream, &stk, &s) != 0)
break;
name = obstack_finish (&stk);
if (! fp)
return;
- if (fseeko (fp, 0, SEEK_SET) != 0)
+ if (fseeko (fp, 0, SEEK_SET) < 0)
seek_error (listed_incremental_option);
- if (sys_truncate (fileno (fp)) != 0)
+ if (sys_truncate (fileno (fp)) < 0)
truncate_error (listed_incremental_option);
int nsec = start_time.tv_nsec;
if (ferror (fp))
write_error (listed_incremental_option);
- if (fclose (fp) != 0)
+ if (fclose (fp) < 0)
close_error (listed_incremental_option);
}
free (p);
p = make_file_name (directory_name, cur);
- if (deref_stat (p, &st) != 0)
+ if (deref_stat (p, &st) < 0)
{
if (errno != ENOENT) /* FIXME: Maybe keep a list of renamed
dirs and check it here? */
char *colon;
++line;
- if (wordsplit (buf, &ws, wsopt))
+ if (wordsplit (buf, &ws, wsopt) != WRDSE_OK)
paxfatal (0, _("%s:%jd: cannot split line: %s"),
file, line, wordsplit_strerror (&ws));
wsopt |= WRDSF_REUSE;
if (this_is_the_archive && _remdev (file_name))
return true;
- if (deref_stat (file_name, &file_stat) != 0)
+ if (deref_stat (file_name, &file_stat) < 0)
{
if (errno == ENOENT)
return true;
if (after_backup_name)
{
if (renameat (chdir_fd, after_backup_name, chdir_fd, before_backup_name)
- != 0)
+ < 0)
{
int e = errno;
paxerror (e, _("%s: Cannot rename to %s"),
else
{
struct wd *stale = &wd[wdcache[CHDIR_CACHE_SIZE - 1]];
- if (close (stale->fd) != 0)
+ if (close (stale->fd) < 0)
close_diag (stale->name);
stale->fd = 0;
wdcache[CHDIR_CACHE_SIZE - 1] = i;
&& (ret = streamsavedir (dir, savedir_sort_order))))
savedir_error (name);
- if (dir ? closedir (dir) != 0 : 0 <= fd && close (fd) != 0)
+ if (dir ? closedir (dir) < 0 : 0 <= fd && close (fd) < 0)
savedir_error (name);
return ret;
case 'X':
if (add_exclude_file (add_exclude, excluded, arg,
exclude_options (), '\n')
- != 0)
+ < 0)
paxfatal (errno, "%s", quotearg_colon (arg));
break;
return _("command line");
}
-static int
+static bool
add_file_id (const char *filename)
{
struct file_id_list *p;
struct stat st;
const char *reading_from;
- if (stat (filename, &st))
+ if (stat (filename, &st) < 0)
stat_fatal (filename);
reading_from = file_list_name ();
for (p = file_id_list; p; p = p->next)
quotearg_n (0, filename),
reading_from, p->from_file);
set_char_quoting (NULL, ':', oldc);
- return 1;
+ return false;
}
p = xmalloc (sizeof *p);
p->next = file_id_list;
p->dev = st.st_dev;
p->from_file = reading_from;
file_id_list = p;
- return 0;
+ return true;
}
/* Chop trailing slashes. */
return 1;
ws.ws_offs = 1;
- if (wordsplit (str, &ws, WRDSF_DEFFLAGS|WRDSF_DOOFFS))
+ if (wordsplit (str, &ws, WRDSF_DEFFLAGS | WRDSF_DOOFFS) != WRDSE_OK)
paxfatal (0, _("cannot split string '%s': %s"),
str, wordsplit_strerror (&ws));
int argc;
return 0;
}
-static int
+static bool
read_next_name (struct name_elt *ent, struct name_elt *ret)
{
if (!ent->v.file.fp)
{
- if (!strcmp (ent->v.file.name, "-"))
+ if (strcmp (ent->v.file.name, "-") == 0)
{
request_stdin ("-T");
ent->v.file.fp = stdin;
}
else
{
- if (add_file_id (ent->v.file.name))
+ if (!add_file_id (ent->v.file.name))
{
name_list_advance ();
- return 1;
+ return false;
}
FILE *fp = fopen (ent->v.file.name, "r");
if (!fp)
if (handle_option (name_buffer, ent) == 0)
{
name_list_adjust ();
- return 1;
+ return false;
}
}
chopslash (name_buffer);
ret->type = NELT_NAME;
ret->v.name = name_buffer;
- return 0;
+ return true;
case file_list_end:
if (strcmp (ent->v.file.name, "-"))
fclose (ent->v.file.fp);
ent->v.file.fp = NULL;
name_list_advance ();
- return 1;
+ return false;
}
}
}
break;
case NELT_FILE:
- if (read_next_name (ep, &entry) == 0)
+ if (read_next_name (ep, &entry))
return &entry;
continue;
return true;
}
-static int
+static bool
regex_usage_warning (const char *name)
{
- static int warned_once = 0;
+ static bool warned_once;
/* Warn about implicit use of the wildcards in command line arguments.
(Default for tar prior to 1.15.91, but changed afterwards) */
if (wildcards == default_wildcards
&& fnmatch_pattern_has_wildcards (name, 0))
{
- warned_once = 1;
paxwarn (0, _("Pattern matching characters used in file names"));
paxwarn (0, _("Use --wildcards to enable pattern matching,"
" or --no-wildcards to suppress this warning"));
+ warned_once = true;
}
return warned_once;
}
nametail = NULL;
if (same_order_option)
- {
- const char *name;
-
- while ((name = name_next (true))
- && regex_usage_warning (name) == 0)
- ;
- }
+ for (char const *name;
+ (name = name_next (true)) && !regex_usage_warning (name); )
+ continue;
}
\f
/* Sorting name lists. */
else
{
subdir.fd = subfd;
- if (fstat (subfd, &subdir.stat) != 0)
+ if (fstat (subfd, &subdir.stat) < 0)
stat_diag (namebuf);
else if (! (O_DIRECTORY || S_ISDIR (subdir.stat.st_mode)))
{
tar_stat_init (&st);
- if (deref_stat (name->name, &st.stat) != 0)
+ if (deref_stat (name->name, &st.stat) < 0)
{
stat_diag (name->name);
continue;
else
{
st.fd = dir_fd;
- if (fstat (dir_fd, &st.stat) != 0)
+ if (fstat (dir_fd, &st.stat) < 0)
stat_diag (name->name);
else if (O_DIRECTORY || S_ISDIR (st.stat.st_mode))
{
warnopt (WARN_DECOMPRESS_PROGRAM, errno, _("cannot run %s"), prog);
warnopt (WARN_DECOMPRESS_PROGRAM, 0, _("trying %s"), p);
}
- if (wordsplit (p, &ws, wsflags))
+ if (wordsplit (p, &ws, wsflags) != WRDSE_OK)
paxfatal (0, _("cannot split string '%s': %s"),
p, wordsplit_strerror (&ws));
wsflags |= WRDSF_REUSE;
dec_to_env (char const *envar, uintmax_t num)
{
char numstr[UINTMAX_STRSIZE_BOUND];
- if (setenv (envar, umaxtostr (num, numstr), 1) != 0)
+ if (setenv (envar, umaxtostr (num, numstr), 1) < 0)
xalloc_die ();
}
time_to_env (char const *envar, struct timespec t)
{
char buf[TIMESPEC_STRSIZE_BOUND];
- if (setenv (envar, code_timespec (t, buf), 1) != 0)
+ if (setenv (envar, code_timespec (t, buf), 1) < 0)
xalloc_die ();
}
if (EXPR_SIGNED (m) && sizeof m < sizeof um)
um &= ~ (UINTMAX_MAX << TYPE_WIDTH (m));
sprintf (buf, "%#"PRIoMAX, um);
- if (setenv (envar, buf, 1) != 0)
+ if (setenv (envar, buf, 1) < 0)
xalloc_die ();
}
{
if (str)
{
- if (setenv (envar, str, 1) != 0)
+ if (setenv (envar, str, 1) < 0)
xalloc_die ();
}
else
char buf[2];
buf[0] = c;
buf[1] = 0;
- if (setenv (envar, buf, 1) != 0)
+ if (setenv (envar, buf, 1) < 0)
xalloc_die ();
}
char *cp;
int rc = 0;
- if (pipe (p))
+ if (pipe (p) < 0)
paxfatal (errno, _("pipe failed"));
if ((pid = xfork ()) == 0)
strcat (command, " ");
strcat (command, file_name);
- if (dirfd != AT_FDCWD)
- {
- if (fchdir (dirfd))
- paxfatal (errno, _("chdir failed"));
- }
+ if (dirfd != AT_FDCWD && fchdir (dirfd) < 0)
+ paxfatal (errno, _("chdir failed"));
close (p[0]);
if (dup2 (p[1], STDOUT_FILENO) < 0)
|| *str == '.')
{
struct stat st;
- if (stat (str, &st) != 0)
+ if (stat (str, &st) < 0)
{
stat_error (str);
paxusage (_("Date sample file not found"));
return;
ws.ws_offs = 1;
- if (wordsplit (opts, &ws, WRDSF_DEFFLAGS|WRDSF_DOOFFS))
+ if (wordsplit (opts, &ws, WRDSF_DEFFLAGS | WRDSF_DOOFFS) != WRDSE_OK)
paxfatal (0, _("cannot split TAR_OPTIONS: %s"), wordsplit_strerror (&ws));
if (ws.ws_wordc)
{
for (archive_name_cursor = archive_name_array;
archive_name_cursor < archive_name_array + archive_names;
archive_name_cursor++)
- if (!strcmp (*archive_name_cursor, "-"))
+ if (strcmp (*archive_name_cursor, "-") == 0)
request_stdin ("-f");
break;
for (archive_name_cursor = archive_name_array;
archive_name_cursor < archive_name_array + archive_names;
archive_name_cursor++)
- if (!strcmp (*archive_name_cursor, "-"))
+ if (strcmp (*archive_name_cursor, "-") == 0)
paxusage (_("Options '-Aru' are incompatible with '-f -'"));
default:
set_quoting_style (0, DEFAULT_QUOTING_STYLE);
close_stdout_set_file_name (_("stdout"));
- /* Make sure we have first three descriptors available */
- if (stdopen ())
- paxfatal (0, _("failed to assert availability"
- " of the standard file descriptors"));
+
+ int err = stdopen ();
+ if (err != 0)
+ paxfatal (err, _("failed to assert availability"
+ " of the standard file descriptors"));
/* System V fork+wait does not work if SIGCHLD is ignored. */
signal (SIGCHLD, SIG_DFL);
if (stdlis == stdout)
close_stdout ();
- else if (ferror (stderr) || fclose (stderr) != 0)
+ else if (ferror (stderr) || fclose (stderr) < 0)
set_exit_status (TAREXIT_FAILURE);
return exit_status;
segm->v.ref = ref;
}
-static int
+static bool
parse_xform_flags (int *pflags, int c)
{
switch (c)
break;
default:
- return 1;
+ return false;
}
- return 0;
+ return true;
}
static void
expr++;
break;
}
- if (parse_xform_flags (&transform_flags, *expr))
+ if (!parse_xform_flags (&transform_flags, *expr))
paxusage (_("Unknown transform flag: %c"), *expr);
}
return expr;
break;
default:
- if (parse_xform_flags (&tf->flags, *p))
+ if (!parse_xform_flags (&tf->flags, *p))
paxusage (_("Unknown flag in transform expression: %c"), *p);
}
else
fname = p->file_name;
- if (unlinkat (chdir_fd, fname, AT_REMOVEDIR) != 0)
+ if (unlinkat (chdir_fd, fname, AT_REMOVEDIR) < 0)
{
switch (errno)
{
}
else
{
- if (unlinkat (chdir_fd, p->file_name, 0) != 0 && errno != ENOENT)
+ if (unlinkat (chdir_fd, p->file_name, 0) < 0 && errno != ENOENT)
unlink_error (p->file_name);
}
dunlink_reclaim (p);
else
fname = p->file_name;
- if (unlinkat (chdir_fd, fname, AT_REMOVEDIR) != 0)
+ if (unlinkat (chdir_fd, fname, AT_REMOVEDIR) < 0)
{
if (errno != ENOENT)
rmdir_error (fname);
set_next_block_after (start + (status - 1) / BLOCKSIZE);
}
- if (close (handle) != 0)
+ if (close (handle) < 0)
close_error (file_name);
}
/* No "default" IEEE 1003.1e ACL set for directory. At this moment,
FILE_NAME may already have inherited default acls from parent
directory; clean them up. */
- if (acl_delete_def_file_at (chdir_fd, file_name))
+ if (acl_delete_def_file_at (chdir_fd, file_name) < 0)
warnopt (WARN_XATTR_WRITE, errno,
_("acl_delete_def_file_at: Cannot drop default POSIX ACLs "
"for file '%s'"),
the first run except 'security.capability' which is restored in
'later_run == 1'. */
if (typeflag == REGTYPE
- && later_run == !!strcmp (keyword, "security.capability"))
+ && later_run == (strcmp (keyword, "security.capability") != 0))
continue;
if (xattrs_masked_out (keyword, false /* extracting */ ))