stdopen
strdup-posix
strerror
+stringeq
strnlen
symlinkat
sys_stat-h
for (i = 0; wsp->ws_env[i]; i++)
{
idx_t elen = strlen (wsp->ws_env[i]);
- if (elen == len && memcmp (wsp->ws_env[i], name, elen) == 0)
+ if (elen == len && memeq (wsp->ws_env[i], name, elen))
{
*ret = wsp->ws_env[i + 1];
return WRDSE_OK;
read_full_records = sfr;
if (record_start != record_end /* no files smaller than BLOCKSIZE */
- && (memcmp (record_start->header.magic, TMAGIC, sizeof TMAGIC) == 0
- || (memcmp (record_start->buffer + offsetof (struct posix_header,
- magic),
- OLDGNU_MAGIC, sizeof OLDGNU_MAGIC)
- == 0))
+ && (memeq (record_start->header.magic, TMAGIC, sizeof TMAGIC)
+ || memeq (record_start->buffer + offsetof (struct posix_header,
+ magic),
+ OLDGNU_MAGIC, sizeof OLDGNU_MAGIC))
&& tar_checksum (record_start, true) == HEADER_SUCCESS)
/* Probably a valid header */
return ct_tar;
for (p = magic + 2; p < magic + n_zip_magic; p++)
- if (memcmp (record_start->buffer, p->magic, p->length) == 0)
+ if (memeq (record_start->buffer, p->magic, p->length))
return p->type;
return ct_none;
check_tty (enum access_mode mode)
{
/* Refuse to read archive from and write it to a tty. */
- if (strcmp (archive_name_array[0], "-") == 0
+ if (streq (archive_name_array[0], "-")
&& isatty (mode == ACCESS_READ ? STDIN_FILENO : STDOUT_FILENO))
{
paxfatal (0, (mode == ACCESS_READ
if (!index_file_name
&& wanted_access == ACCESS_WRITE
- && strcmp (archive_name_array[0], "-") == 0)
+ && streq (archive_name_array[0], "-"))
stdlis = stderr;
}
- else if (strcmp (archive_name_array[0], "-") == 0)
+ else if (streq (archive_name_array[0], "-"))
{
read_full_records = true; /* could be a pipe, be safe */
if (verify_option)
change_tape_menu (read_file);
}
- if (strcmp (archive_name_cursor[0], "-") == 0)
+ if (streq (archive_name_cursor[0], "-"))
{
read_full_records = true;
archive = STDIN_FILENO;
return false;
}
- if (strcmp (continued_file_name, bufmap_head->file_name) != 0)
+ if (!streq (continued_file_name, bufmap_head->file_name))
{
if ((archive_format == GNU_FORMAT || archive_format == OLDGNU_FORMAT)
&& strlen (bufmap_head->file_name) >= NAME_FIELD_SIZE
prefix_len = i + 1;
ptrdiff_t len = prefix_len - VOLUME_TEXT_LEN;
- return (0 <= len && memcmp (label + len, VOLUME_TEXT, VOLUME_TEXT_LEN) == 0
+ return (0 <= len && memeq (label + len, VOLUME_TEXT, VOLUME_TEXT_LEN)
? ximemdup0 (label, len)
: NULL);
}
checkpoint_state = CHKP_COMPILE;
}
- if (strcmp (str, ".") == 0 || strcmp (str, "dot") == 0)
+ if (streq (str, ".") || streq (str, "dot"))
alloc_action (cop_dot, NULL);
- else if (strcmp (str, "bell") == 0)
+ else if (streq (str, "bell"))
alloc_action (cop_bell, NULL);
- else if (strcmp (str, "echo") == 0)
+ else if (streq (str, "echo"))
alloc_action (cop_echo, NULL)->v.command = NULL;
else if (strncmp (str, "echo=", 5) == 0)
alloc_action (cop_echo, str + 5);
if ((p == arg) | *p)
paxfatal (0, _("%s: not a valid timeout"), str);
}
- else if (strcmp (str, "totals") == 0)
+ else if (streq (str, "totals"))
alloc_action (cop_totals, NULL);
else if (strncmp (str, "wait=", 5) == 0)
{
return false;
}
- if (memcmp (buffer, diff_buffer, bytes) != 0)
+ if (!memeq (buffer, diff_buffer, bytes))
{
report_difference (¤t_stat_info, _("Contents differ"));
return false;
report_difference (¤t_stat_info, NULL);
}
else if (status != len
- || memcmp (current_stat_info.link_name, linkbuf, len) != 0)
+ || !memeq (current_stat_info.link_name, linkbuf, len))
report_difference (¤t_stat_info, _("Symlink differs"));
if (linkbuf != buf)
= "Signature: 8a477f597d28d172789f06886806bc55";
char tagbuf[sizeof sig];
return (read (fd, tagbuf, sizeof sig) == sizeof sig
- && memcmp (tagbuf, sig, sizeof sig) == 0);
+ && memeq (tagbuf, sig, sizeof sig));
}
\f
name_gather ();
open_archive (ACCESS_UPDATE);
- acting_as_filter = strcmp (archive_name_array[0], "-") == 0;
+ acting_as_filter = streq (archive_name_array[0], "-");
/* Skip to the first member that matches the name list. */
do
{
for (pattern += 7; c_isspace (*pattern); ++pattern)
;
- if (strcmp (pattern, "regexp") == 0)
+ if (streq (pattern, "regexp"))
/* FIXME: Regexps must be perl-style */
*hgopt = EXCLUDE_REGEX;
- else if (strcmp (pattern, "glob") == 0)
+ else if (streq (pattern, "glob"))
*hgopt = EXCLUDE_WILDCARDS;
/* Ignore unknown syntax */
return;
struct vcs_ignore_file *p;
for (p = vcs_ignore_files; p->filename; p++)
- if (strcmp (p->filename, name) == 0)
+ if (streq (p->filename, name))
break;
return p;
ds_compare (void const *a, void const *b)
{
struct delayed_set_stat const *dsa = a, *dsb = b;
- return strcmp (dsa->file_name, dsb->file_name) == 0;
+ return streq (dsa->file_name, dsb->file_name);
}
/* Set up to extract files. */
{
next = data->next;
if (chdir_current == data->change_dir
- && strcmp (data->file_name, fname) == 0)
+ && streq (data->file_name, fname))
{
hash_remove (delayed_set_stat_table, data);
free_delayed_set_stat (data);
for (data = delayed_set_stat_head; data; data = data->next)
{
if (chdir_current == data->change_dir
- && strcmp (data->file_name, src) == 0)
+ && streq (data->file_name, src))
{
free (data->file_name);
data->file_name = xstrdup (dst);
&& file_name[data->file_name_len]
&& (ISSLASH (file_name[data->file_name_len])
|| ISSLASH (file_name[data->file_name_len - 1]))
- && memcmp (file_name, data->file_name, data->file_name_len) == 0))
+ && memeq (file_name, data->file_name, data->file_name_len)))
break;
chdir_do (data->change_dir);
return true;
}
- else if ((e == EEXIST && strcmp (link_name, file_name) == 0)
+ else if ((e == EEXIST && streq (link_name, file_name))
|| ((fstatat (chdir_fd, link_name, &st1, AT_SYMLINK_NOFOLLOW)
== 0)
&& (fstatat (chdir_fd, file_name, &st2, AT_SYMLINK_NOFOLLOW)
nfs_file_stat (struct stat const *st)
{
#if HAVE_ST_FSTYPE_STRING
- return strcmp (st->st_fstype, "nfs") == 0;
+ return streq (st->st_fstype, "nfs");
#else
return (st->st_dev >> (TYPE_WIDTH (st->st_dev) - 1)) & 1;
#endif
{
struct directory const *directory1 = entry1;
struct directory const *directory2 = entry2;
- return strcmp (directory1->caname, directory2->caname) == 0;
+ return streq (directory1->caname, directory2->caname);
}
static size_t
}
}
- if (strcmp (directory->name, name_buffer))
+ if (!streq (directory->name, name_buffer))
{
*entry = 'N';
return directory;
stat_data->st_ino);
if (d)
{
- if (strcmp (d->name, name_buffer))
+ if (!streq (d->name, name_buffer))
{
warnopt (WARN_RENAME_DIRECTORY, 0,
_("%s: Directory has been renamed from %s"),
if (d)
{
- if (strcmp (d->name, name_buffer))
+ if (!streq (d->name, name_buffer))
{
warnopt (WARN_RENAME_DIRECTORY, 0,
_("%s: Directory has been renamed from %s"),
section 10.1.1. */
char *np = namebuf;
- if (h->prefix[0] && memcmp (h->magic, TMAGIC, sizeof TMAGIC) == 0)
+ if (h->prefix[0] && memeq (h->magic, TMAGIC, sizeof TMAGIC))
{
memcpy (np, h->prefix, sizeof h->prefix);
np[sizeof h->prefix] = '\0';
bool hbits;
mode_t mode = MODE_FROM_HEADER (header->header.mode, &hbits);
- if (memcmp (header->header.magic, TMAGIC, sizeof TMAGIC) == 0)
+ if (memeq (header->header.magic, TMAGIC, sizeof TMAGIC))
{
if (header->star_header.prefix[130] == 0
&& is_octal_digit (header->star_header.atime[0])
else
format = USTAR_FORMAT;
}
- else if (memcmp (header->buffer + offsetof (struct posix_header, magic),
- OLDGNU_MAGIC, sizeof OLDGNU_MAGIC)
- == 0)
+ else if (memeq (header->buffer + offsetof (struct posix_header, magic),
+ OLDGNU_MAGIC, sizeof OLDGNU_MAGIC))
format = hbits ? OLDGNU_FORMAT : GNU_FORMAT;
else
format = V7_FORMAT;
{
char *name = *pname;
idx_t nlen = strlen (name);
- if (nlen > slen && memcmp (name, samp, slen) == 0 && ISSLASH (name[slen]))
+ if (slen < nlen && memeq (name, samp, slen) && ISSLASH (name[slen]))
{
if (rlen > slen)
{
struct passwd *passwd;
if (cached_no_such_uname
- && strcmp (uname, cached_no_such_uname) == 0)
+ && streq (uname, cached_no_such_uname))
return false;
- if (!cached_uname
- || uname[0] != cached_uname[0]
- || strcmp (uname, cached_uname) != 0)
+ if (! (cached_uname
+ && uname[0] == cached_uname[0]
+ && streq (uname, cached_uname)))
{
passwd = getpwnam (uname);
if (passwd)
struct group *group;
if (cached_no_such_gname
- && strcmp (gname, cached_no_such_gname) == 0)
+ && streq (gname, cached_no_such_gname))
return false;
- if (!cached_gname
- || gname[0] != cached_gname[0]
- || strcmp (gname, cached_gname) != 0)
+ if (! (cached_gname
+ && gname[0] == cached_gname[0]
+ && streq (gname, cached_gname)))
{
group = getgrnam (gname);
if (group)
{
if (!ent->v.file.fp)
{
- if (strcmp (ent->v.file.name, "-") == 0)
+ if (streq (ent->v.file.name, "-"))
{
request_stdin ("-T");
ent->v.file.fp = stdin;
return true;
case file_list_end:
- if (strcmp (ent->v.file.name, "-"))
+ if (!streq (ent->v.file.name, "-"))
fclose (ent->v.file.fp);
ent->v.file.fp = NULL;
name_list_advance ();
{
struct name const *name1 = entry1;
struct name const *name2 = entry2;
- return strcmp (name1->caname, name2->caname) == 0;
+ return streq (name1->caname, name2->caname);
}
\f
idx_t bytes_read = full_read (file->fd, diff_buffer, rdsize);
size_left -= bytes_read;
mv_size_left (file->stat_info->archive_file_size - file->dumped_size);
- if (memcmp (blk->buffer, diff_buffer, bytes_read) != 0)
+ if (!memeq (blk->buffer, diff_buffer, bytes_read))
{
report_difference (file->stat_info, _("Contents differ"));
return false;
p < (compression_suffixes
+ sizeof compression_suffixes / sizeof *compression_suffixes);
p++)
- if (strcmp (p->suffix, suf) == 0)
+ if (streq (p->suffix, suf))
return p;
}
else if (ret_len)
{
static char const dev_null[] = "nul";
- dev_null_output = (strcmp (archive_name_array[0], dev_null) == 0
+ dev_null_output = (streq (archive_name_array[0], dev_null)
|| (! _isrmt (archive)));
}
{
static struct stat dev_null_stat;
- dev_null_output = (strcmp (archive_name_array[0], dev_null) == 0
+ dev_null_output = (streq (archive_name_array[0], dev_null)
|| (! _isrmt (archive)
&& S_ISCHR (archive_stat.st_mode)
&& (dev_null_stat.st_ino != 0
/* We don't need a grandchild tar. Open the archive and launch the
compressor. */
- if (strcmp (archive_name_array[0], "-"))
+ if (!streq (archive_name_array[0], "-"))
{
archive = creat (archive_name_array[0], MODE_RW);
if (archive < 0)
xdup2 (child_pipe[PREAD], STDIN_FILENO);
xclose (child_pipe[PWRITE]);
- if (strcmp (archive_name_array[0], "-") == 0)
+ if (streq (archive_name_array[0], "-"))
archive = STDOUT_FILENO;
else
{
b) the file is to be accessed by rmt: compressor doesn't know how;
c) the file is not a plain file. */
- if (strcmp (archive_name_array[0], "-") != 0
+ if (!streq (archive_name_array[0], "-")
&& !_remdev (archive_name_array[0])
&& is_regular_file (archive_name_array[0]))
{
xdup2 (child_pipe[PWRITE], STDOUT_FILENO);
xclose (child_pipe[PREAD]);
- if (strcmp (archive_name_array[0], "-") == 0)
+ if (streq (archive_name_array[0], "-"))
archive = STDIN_FILENO;
else
archive = rmtopen (archive_name_array[0], O_RDONLY | O_BINARY,
{
struct fmttab const *p;
- for (p = fmttab; strcmp (p->name, name) != 0; )
+ for (p = fmttab; !streq (p->name, name); )
if (! (++p)->name)
paxusage (_("%s: Invalid archive format"),
quotearg_colon (name));
tar_set_quoting_style (char *arg)
{
for (idx_t i = 0; quoting_style_args[i]; i++)
- if (strcmp (arg, quoting_style_args[i]) == 0)
+ if (streq (arg, quoting_style_args[i]))
{
set_quoting_style (NULL, i);
return;
if (a->source == OPTS_COMMAND_LINE)
return true;
assume (a->name);
- return strcmp (a->name, b->name) == 0;
+ return streq (a->name, b->name);
}
\f
static void
{
struct option_locus *p = optloc_save (OC_COMPRESS, loc);
if (use_compress_program_option
- && strcmp (use_compress_program_option, string) != 0
+ && !streq (use_compress_program_option, string)
&& p->source == OPTS_COMMAND_LINE)
paxusage (_("Conflicting compression options"));
if (strncmp (s, "SIG", 3) == 0)
s += 3;
for (struct sigtab const *p = sigtab; p < sigtab + nsigtab; p++)
- if (strcmp (p->name, s) == 0)
+ if (streq (p->name, s))
return p->signo;
paxfatal (0, _("Unknown signal name: %s"), name);
}
if (verbose_option)
{
char const *treated_as = tartime (p->ts, true);
- if (strcmp (p->date, treated_as) != 0)
+ if (!streq (p->date, treated_as))
paxwarn (0, _("Option %s: Treating date '%s' as %s"),
p->option, p->date, treated_as);
}
if (!name_more_files ())
paxusage (_("Cowardly refusing to create an empty archive"));
if (args.compress_autodetect && archive_names
- && strcmp (archive_name_array[0], "-"))
+ && !streq (archive_name_array[0], "-"))
set_compression_program_by_suffix (archive_name_array[0],
use_compress_program_option,
true);
for (archive_name_cursor = archive_name_array;
archive_name_cursor < archive_name_array + archive_names;
archive_name_cursor++)
- if (strcmp (*archive_name_cursor, "-") == 0)
+ if (streq (*archive_name_cursor, "-"))
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, "-") == 0)
+ if (streq (*archive_name_cursor, "-"))
paxusage (_("Options '-Aru' are incompatible with '-f -'"));
default:
name_gather ();
open_archive (ACCESS_UPDATE);
- acting_as_filter = strcmp (archive_name_array[0], "-") == 0;
+ acting_as_filter = streq (archive_name_array[0], "-");
xheader_forbid_global ();
while (!found_end)
bool negate = false;
int option;
- if (strcmp (arg, "none") == 0)
+ if (streq (arg, "none"))
{
warning_option = 0;
return;
}
- if (strlen (arg) > 2 && memcmp (arg, "no-", 3) == 0)
+ if (strncmp (arg, "no-", 3) == 0)
{
negate = true;
arg += 3;
the first run except 'security.capability' which is restored in
'later_run == 1'. */
if (typeflag == REGTYPE
- && later_run == (strcmp (keyword, "security.capability") != 0))
+ && streq (keyword, "security.capability") != later_run)
continue;
if (xattrs_masked_out (keyword, false /* extracting */ ))
struct keyword_list *kp;
for (kp = keyword_override_list; kp; kp = kp->next)
- if (strcmp (kp->pattern, keyword) == 0)
+ if (streq (kp->pattern, keyword))
return true;
return false;
}
for (p = eq + 1; *p && c_isspace (*p); p++)
;
- if (strcmp (kw, "delete") == 0)
+ if (streq (kw, "delete"))
{
if (xheader_protected_pattern_p (p))
paxusage (_("Pattern %s cannot be used"), quote (p));
xheader_list_append (&keyword_pattern_list, p, NULL);
}
- else if (strcmp (kw, "exthdr.name") == 0)
+ else if (streq (kw, "exthdr.name"))
assign_string (&exthdr_name, p);
- else if (strcmp (kw, "globexthdr.name") == 0)
+ else if (streq (kw, "globexthdr.name"))
assign_string (&globexthdr_name, p);
- else if (strcmp (kw, "exthdr.mtime") == 0)
+ else if (streq (kw, "exthdr.mtime"))
assign_time_option (&exthdr_mtime_option, &exthdr_mtime, p);
- else if (strcmp (kw, "globexthdr.mtime") == 0)
+ else if (streq (kw, "globexthdr.mtime"))
assign_time_option (&globexthdr_mtime_option, &globexthdr_mtime, p);
else
{
}
else
{
- if (strcmp (p->keyword, keyword) == 0)
+ if (streq (p->keyword, keyword))
return p;
}
for (p = xhdr_tab; p->keyword; p++)
if (!p->prefix && (p->flags & XHDR_PROTECTED)
- && strcmp (p->keyword, keyword) == 0)
+ && streq (p->keyword, keyword))
return true;
return false;
}