# on a separate line to the following arguments.
sc_error_quotes:
@cd $(srcdir)/src && GIT_PAGER= git grep -n 'error *(.*%s.*, [^(]*);$$'\
- *.c | grep -v quote \
+ *.c | grep -v ', q' \
&& { echo '$(ME): '"Use quote() for error string arguments" 1>&2; \
exit 1; } \
|| :
#include <error.h>
#include <exitfail.h>
#include <fcntl.h>
-#include <quotearg.h>
+#include <quote.h>
#include <stdalign.h>
#include <stdbool.h>
#include <stdint.h>
if (file_name)
error (exit_failure, errno,
errno == 0 ? _("%s: end of file") : _("%s: read error"),
- quotearg_colon (file_name));
+ quote (file_name));
abort ();
}
inline
fopen-safer
gettimeofday
-quotearg
+quote
stdalign
stdbool
stdint
#include "error.h"
#include "ignore-value.h"
#include "quote.h"
-#include "quotearg.h"
#include "root-dev-ino.h"
#include "selinux-at.h"
#include "xfts.h"
if (!new_context)
{
error (0, errno, _("failed to create security context: %s"),
- quotearg_colon (context));
+ quote (context));
return 1;
}
#include "ignore-value.h"
#include "modechange.h"
#include "quote.h"
-#include "quotearg.h"
#include "root-dev-ino.h"
#include "xfts.h"
new_perms[10] = naively_expected_perms[10] = '\0';
error (0, 0,
_("%s: new permissions are %s, not %s"),
- quotearg_colon (file_full_name),
+ quote (file_full_name),
new_perms + 1, naively_expected_perms + 1);
ok = false;
}
#include "human.h"
#include "mountlist.h"
#include "quote.h"
-#include "quotearg.h"
#include "stat-size.h"
#include "stat-time.h"
#include "stdio--.h"
if (errno != 0)
{
error (0, errno, _("fts_read failed: %s"),
- quotearg_colon (fts->fts_path));
+ quote (fts->fts_path));
ok = false;
}
if (add_exclude_file (add_exclude, exclude, optarg,
EXCLUDE_WILDCARDS, '\n'))
{
- error (0, errno, "%s", quotearg_colon (optarg));
+ error (0, errno, "%s", quote (optarg));
ok = false;
}
break;
goto argv_iter_done;
case AI_ERR_READ:
error (0, errno, _("%s: read error"),
- quotearg_colon (files_from));
+ quote (files_from));
ok = false;
goto argv_iter_done;
case AI_ERR_MEM:
not totally appropriate, since NUL is the separator, not NL,
but it might be better than nothing. */
unsigned long int file_number = argv_iter_n_args (ai);
- error (0, 0, "%s:%lu: %s", quotearg_colon (files_from),
+ error (0, 0, "%s:%lu: %s", quote (files_from),
file_number, _("invalid zero-length file name"));
}
skip_file = true;
#include "error.h"
#include "full-read.h"
#include "quote.h"
-#include "quotearg.h"
#include "safe-read.h"
#include "stat-size.h"
#include "xfreopen.h"
_(whence == SEEK_SET
? N_("%s: cannot seek to offset %s")
: N_("%s: cannot seek to relative offset %s")),
- quotearg_colon (filename),
+ quote (filename),
offtostr (offset, buf));
return new_offset;
if (fstat (fd, &st) != 0)
{
error (0, errno, _("cannot fstat %s"),
- quotearg_colon (filename));
+ quote (filename));
return false;
}
if (! presume_input_pipe && usable_st_size (&st))
#include "modechange.h"
#include "prog-fprintf.h"
#include "quote.h"
-#include "quotearg.h"
#include "savewd.h"
#include "stat-time.h"
#include "utimens.h"
if (lsetfilecon (file, scontext) < 0 && errno != ENOTSUP)
error (0, errno,
_("warning: %s: failed to change context to %s"),
- quotearg_colon (file), scontext);
+ quote_n (0, file), quote_n (1, scontext));
freecon (scontext);
return;
static void
file_failure (bool serious, char const *message, char const *file)
{
- error (0, errno, message, quotearg_colon (file));
+ error (0, errno, message, quote (file));
set_exit_status (serious);
}
if (visit_dir (dir_stat.st_dev, dir_stat.st_ino))
{
error (0, 0, _("%s: not listing already-listed directory"),
- quotearg_colon (name));
+ quote (name));
closedir (dirp);
set_exit_status (true);
return;
any_has_acl |= f->acl_type != ACL_T_NONE;
if (err)
- error (0, errno, "%s", quotearg_colon (absolute_name));
+ error (0, errno, "%s", quote (absolute_name));
}
if (S_ISLNK (f->stat.st_mode)
#include "system.h"
#include "error.h"
#include "quote.h"
-#include "quotearg.h"
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "runcon"
con = context_new (cur_context);
if (!con)
error (EXIT_FAILURE, errno, _("failed to create security context: %s"),
- quotearg_colon (cur_context));
+ quote (cur_context));
if (user && context_user_set (con, user))
error (EXIT_FAILURE, errno, _("failed to set new user: %s"),
quote (user));
if (security_check_context (context_str (con)) < 0)
error (EXIT_FAILURE, errno, _("invalid context: %s"),
- quotearg_colon (context_str (con)));
+ quote (context_str (con)));
if (setexeccon (context_str (con)) != 0)
error (EXIT_FAILURE, errno, _("unable to set security context %s"),
#include "fcntl--.h"
#include "human.h"
#include "quote.h"
-#include "quotearg.h" /* For quotearg_colon */
#include "randint.h"
#include "randread.h"
#include "stat-size.h"
err = errno;
if ( ! ignorable_sync_errno (err))
{
- error (0, err, _("%s: fdatasync failed"), quote (qname));
+ error (0, err, _("%s: fdatasync failed"), qname);
errno = err;
return -1;
}
err = errno;
if ( ! ignorable_sync_errno (err))
{
- error (0, err, _("%s: fsync failed"), quote (qname));
+ error (0, err, _("%s: fsync failed"), qname);
errno = err;
return -1;
}
if (! dorewind (fd, st))
{
- error (0, errno, _("%s: cannot rewind"), quote (qname));
+ error (0, errno, _("%s: cannot rewind"), qname);
other_error = true;
goto free_pattern_mem;
}
/* Set position if first status update */
if (n)
{
- error (0, 0, _("%s: pass %lu/%lu (%s)..."),
- quote (qname), k, n, pass_string);
+ error (0, 0, _("%s: pass %lu/%lu (%s)..."), qname, k, n, pass_string);
thresh = time (NULL) + VERBOSE_UPDATE;
previous_human_offset = "";
}
continue;
}
error (0, errnum, _("%s: error writing at offset %s"),
- quote (qname), umaxtostr (offset + soff, buf));
+ qname, umaxtostr (offset + soff, buf));
/* 'shred' is often used on bad media, before throwing it
out. Thus, it shouldn't give up on bad blocks. This
write_error = true;
continue;
}
- error (0, errno, _("%s: lseek failed"), quote (qname));
+ error (0, errno, _("%s: lseek failed"), qname);
}
other_error = true;
goto free_pattern_mem;
if (OFF_T_MAX - offset < soff)
{
- error (0, 0, _("%s: file too large"), quote (qname));
+ error (0, 0, _("%s: file too large"), qname);
other_error = true;
goto free_pattern_mem;
}
{
if (! known (size))
error (0, 0, _("%s: pass %lu/%lu (%s)...%s"),
- quote (qname), k, n, pass_string, human_offset);
+ qname, k, n, pass_string, human_offset);
else
{
uintmax_t off = offset;
if (done)
human_offset = human_size;
error (0, 0, _("%s: pass %lu/%lu (%s)...%s/%s %d%%"),
- quote (qname), k, n, pass_string, human_offset,
- human_size, percent);
+ qname, k, n, pass_string, human_offset, human_size,
+ percent);
}
strcpy (previous_offset_buf, human_offset);
if (fstat (fd, &st))
{
- error (0, errno, _("%s: fstat failed"), quote (qname));
+ error (0, errno, _("%s: fstat failed"), qname);
return false;
}
|| S_ISFIFO (st.st_mode)
|| S_ISSOCK (st.st_mode))
{
- error (0, 0, _("%s: invalid file type"), quote (qname));
+ error (0, 0, _("%s: invalid file type"), qname);
return false;
}
else if (S_ISREG (st.st_mode) && st.st_size < 0)
{
- error (0, 0, _("%s: file has negative size"), quote (qname));
+ error (0, 0, _("%s: file has negative size"), qname);
return false;
}
if (flags->remove_file && ftruncate (fd, 0) != 0
&& S_ISREG (st.st_mode))
{
- error (0, errno, _("%s: error truncating"), quote (qname));
+ error (0, errno, _("%s: error truncating"), qname);
ok = false;
goto wipefd_out;
}
if (fd_flags < 0)
{
- error (0, errno, _("%s: fcntl failed"), quote (qname));
+ error (0, errno, _("%s: fcntl failed"), qname);
return false;
}
if (fd_flags & O_APPEND)
{
- error (0, 0, _("%s: cannot shred append-only file descriptor"),
- quote (qname));
+ error (0, 0, _("%s: cannot shred append-only file descriptor"), qname);
return false;
}
return do_wipefd (fd, qname, s, flags);
char *base = last_component (newname);
size_t len = base_len (base);
char *dir = dir_name (newname);
- char *qdir = xstrdup (quotearg_colon (dir));
+ char *qdir = xstrdup (quote (dir));
bool first = true;
bool ok = true;
int dir_fd = -1;
dir_fd = open (dir, O_RDONLY | O_DIRECTORY | O_NOCTTY | O_NONBLOCK);
if (flags->verbose)
- error (0, 0, _("%s: removing"), quote (qoldname));
+ error (0, 0, _("%s: removing"), qoldname);
while ((flags->remove_file != remove_unlink) && len)
{
*/
char const *old = (first ? qoldname : oldname);
error (0, 0, _("%s: renamed to %s"),
- quote_n (0, old), quote_n (1, newname));
+ old, newname);
first = false;
}
memcpy (oldname + (base - newname), base, len + 1);
}
if (unlink (oldname) != 0)
{
- error (0, errno, _("%s: failed to remove"), quote (qoldname));
+ error (0, errno, _("%s: failed to remove"), qoldname);
ok = false;
}
else if (flags->verbose)
- error (0, 0, _("%s: removed"), quote (qoldname));
+ error (0, 0, _("%s: removed"), qoldname);
if (0 <= dir_fd)
{
if (dosync (dir_fd, qdir) != 0)
ok = false;
if (close (dir_fd) != 0)
{
- error (0, errno, _("%s: failed to close"), quote (qdir));
+ error (0, errno, _("%s: failed to close"), qdir);
ok = false;
}
}
fd = open (name, O_WRONLY | O_NOCTTY | O_BINARY);
if (fd < 0)
{
- error (0, errno, _("%s: failed to open for writing"), quote (qname));
+ error (0, errno, _("%s: failed to open for writing"), qname);
return false;
}
ok = do_wipefd (fd, qname, s, flags);
if (close (fd) != 0)
{
- error (0, errno, _("%s: failed to close"), quote (qname));
+ error (0, errno, _("%s: failed to close"), qname);
ok = false;
}
if (ok && flags->remove_file)
randint_source = randint_all_new (random_source, SIZE_MAX);
if (! randint_source)
- error (EXIT_FAILURE, errno, "%s", quotearg_colon (random_source));
+ error (EXIT_FAILURE, errno, "%s", quote (random_source));
atexit (clear_random_data);
for (i = 0; i < n_files; i++)
{
- char *qname = xstrdup (quotearg_colon (file[i]));
+ char *qname = xstrdup (quote (file[i]));
if (STREQ (file[i], "-"))
{
ok &= wipefd (STDOUT_FILENO, qname, randint_source, &flags);
#include "getopt.h"
#include "linebuffer.h"
#include "quote.h"
-#include "quotearg.h"
#include "randint.h"
#include "randperm.h"
#include "read-file.h"
? SIZE_MAX
: randperm_bound (head_lines, n_lines)));
if (! randint_source)
- error (EXIT_FAILURE, errno, "%s", quotearg_colon (random_source));
+ error (EXIT_FAILURE, errno, "%s", quote (random_source));
if (use_reservoir_sampling)
{
permutation = randperm_new (randint_source, head_lines, n_lines);
if (outfile && ! freopen (outfile, "w", stdout))
- error (EXIT_FAILURE, errno, "%s", quotearg_colon (outfile));
+ error (EXIT_FAILURE, errno, "%s", quote (outfile));
/* Generate output according to requested method */
if (repeat)
unsigned long int file_number = i + 1;
error (SORT_FAILURE, 0,
_("%s:%lu: invalid zero-length file name"),
- quotearg_colon (files_from), file_number);
+ quote (files_from), file_number);
}
}
}
#include "getopt.h"
#include "mountlist.h"
#include "quote.h"
-#include "quotearg.h"
#include "stat-size.h"
#include "stat-time.h"
#include "strftime.h"
dest[len + 1] = *fmt_char;
dest[len + 2] = '\0';
error (EXIT_FAILURE, 0, _("%s: invalid directive"),
- quotearg_colon (dest));
+ quote (dest));
}
putchar ('%');
break;
#include "error.h"
#include "filenamecat.h"
#include "quote.h"
-#include "quotearg.h"
#include "safe-read.h"
#include "stdlib--.h"
#include "xfreopen.h"
{
file_pos -= remainder;
if (lseek (input_fd, file_pos, SEEK_SET) < 0)
- error (0, errno, _("%s: seek failed"), quotearg_colon (file));
+ error (0, errno, _("%s: seek failed"), quote (file));
}
/* Scan backward, looking for end of file. This caters to proc-like
{
off_t rsize = read_size;
if (lseek (input_fd, -rsize, SEEK_CUR) < 0)
- error (0, errno, _("%s: seek failed"), quotearg_colon (file));
+ error (0, errno, _("%s: seek failed"), quote (file));
file_pos -= read_size;
}
if (saved_record_size == SAFE_READ_ERROR)
{
- error (0, errno, _("%s: read error"), quotearg_colon (file));
+ error (0, errno, _("%s: read error"), quote (file));
return false;
}
file_pos = 0;
}
if (lseek (input_fd, file_pos, SEEK_SET) < 0)
- error (0, errno, _("%s: seek failed"), quotearg_colon (file));
+ error (0, errno, _("%s: seek failed"), quote (file));
/* Shift the pending record data right to make room for the new.
The source and destination regions probably overlap. */
if (safe_read (input_fd, G_buffer, read_size) != read_size)
{
- error (0, errno, _("%s: read error"), quotearg_colon (file));
+ error (0, errno, _("%s: read error"), quote (file));
return false;
}
}
break;
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, _("%s: read error"), quotearg_colon (file));
+ error (0, errno, _("%s: read error"), quote (file));
goto Fail;
}
if (fwrite (G_buffer, 1, bytes_read, fp) != bytes_read)
{
- error (0, errno, _("%s: write error"), quotearg_colon (file_name));
+ error (0, errno, _("%s: write error"), quote (file_name));
goto Fail;
}
if (fflush (fp) != 0)
{
- error (0, errno, _("%s: write error"), quotearg_colon (file_name));
+ error (0, errno, _("%s: write error"), quote (file_name));
goto Fail;
}
if (!is_stdin && close (fd) != 0)
{
- error (0, errno, _("%s: read error"), quotearg_colon (filename));
+ error (0, errno, _("%s: read error"), quote (filename));
ok = false;
}
return ok;
#include "mbchar.h"
#include "physmem.h"
#include "quote.h"
-#include "quotearg.h"
#include "readtokens0.h"
#include "safe-read.h"
#include "stat-size.h"
goto argv_iter_done;
case AI_ERR_READ:
error (0, errno, _("%s: read error"),
- quotearg_colon (files_from));
+ quote (files_from));
ok = false;
goto argv_iter_done;
case AI_ERR_MEM:
not totally appropriate, since NUL is the separator, not NL,
but it might be better than nothing. */
unsigned long int file_number = argv_iter_n_args (ai);
- error (0, 0, "%s:%lu: %s", quotearg_colon (files_from),
+ error (0, 0, "%s:%lu: %s", quote (files_from),
file_number, _("invalid zero-length file name"));
}
skip_file = true;
for prog in du wc; do
$prog --files0-from=dir > /dev/null 2>err && fail=1
- printf "$prog: dir:\n" > exp || fail=1
+ printf "$prog: 'dir':\n" > exp || fail=1
# The diagnostic string is usually "Is a directory" (ENOTDIR),
# but accept a different string or errno value.
- sed 's/dir:.*/dir:/' err > k; mv k err
+ sed "s/'dir':.*/'dir':/" err > k; mv k err
compare exp err || fail=1
done
# one NUL
['nul-1', '--files0-from=-', '<', {IN=>"\0"}, {EXIT=>1},
- {ERR => "$prog: -:1: invalid zero-length file name\n"}],
+ {ERR => "$prog: '-':1: invalid zero-length file name\n"}],
# two NULs
['nul-2', '--files0-from=-', '<', {IN=>"\0\0"}, {EXIT=>1},
- {ERR => "$prog: -:1: invalid zero-length file name\n"
- . "$prog: -:2: invalid zero-length file name\n"}],
+ {ERR => "$prog: '-':1: invalid zero-length file name\n"
+ . "$prog: '-':2: invalid zero-length file name\n"}],
# one file name, no NUL
['1', '--files0-from=-', '<',
['zero-len', '--files0-from=-', '<',
{IN=>{f=>"\0g\0"}}, {AUX=>{g=>''}},
{OUT=>"0\tg\n"}, {OUT_SUBST=>'s/^\d+/0/'},
- {ERR => "$prog: -:1: invalid zero-length file name\n"}, {EXIT=>1} ],
+ {ERR => "$prog: '-':1: invalid zero-length file name\n"}, {EXIT=>1} ],
);
my $save_temps = $ENV{DEBUG};
test $? = 1 || fail=1
# check for the new diagnostic
-printf "du: fts_read failed: $t/3/a/b: No such file or directory\n" > exp \
+printf "du: fts_read failed: '$t/3/a/b': No such file or directory\n" > exp \
|| fail=1
compare exp err || fail=1
shred: 'f': pass 2/3 (random)...
shred: 'f': pass 3/3 (random)...
shred: 'f': removing
-shred: 'f': renamed to '0'
+shred: 'f': renamed to 0
shred: 'f': removed" > exp || framework_failure_
shred -v -u f 2>out || fail=1
touch f || framework_failure_
echo "\
shred: 'f': removing
-shred: 'f': renamed to '0'
+shred: 'f': renamed to 0
shred: 'f': removed" > exp || framework_failure_
shred -v -u f 2>out || fail=1
shred: 'f': pass 19/20 (333333)...
shred: 'f': pass 20/20 (random)...
shred: 'f': removing
-shred: 'f': renamed to '0'
+shred: 'f': renamed to 0
shred: 'f': removed" > exp || framework_failure_
shred -v -u -n20 --random-source=Us f 2>out || fail=1
# one NUL
['nul-1', '--files0-from=-', '<', {IN=>"\0"}, {EXIT=>2},
- {ERR => "$prog: -:1: invalid zero-length file name\n"}],
+ {ERR => "$prog: '-':1: invalid zero-length file name\n"}],
# two NULs
# Note that the behavior here differs from 'wc' in that the
# first zero-length file name is treated as fatal, so there
# is only one line of diagnostic output.
['nul-2', '--files0-from=-', '<', {IN=>"\0\0"}, {EXIT=>2},
- {ERR => "$prog: -:1: invalid zero-length file name\n"}],
+ {ERR => "$prog: '-':1: invalid zero-length file name\n"}],
# one file name, no NUL
['1', '--files0-from=-', '<',
# should be no output on STDOUT.
['zero-len', '--files0-from=-', '<',
{IN=>{f=>"\0g\0"}}, {AUX=>{g=>''}},
- {ERR => "$prog: -:1: invalid zero-length file name\n"}, {EXIT=>2} ],
+ {ERR => "$prog: '-':1: invalid zero-length file name\n"}, {EXIT=>2} ],
);
my $save_temps = $ENV{DEBUG};
{ERR=>"$prog: warning: backslash at end of format\n"}],
['err-1', "--printf=%9% .", {EXIT => 1},
- {ERR=>"$prog: %9%: invalid directive\n"}],
+ {ERR=>"$prog: '%9%': invalid directive\n"}],
['err-2', "--printf=%9 .", {EXIT => 1},
- {ERR=>"$prog: %9: invalid directive\n"}],
+ {ERR=>"$prog: '%9': invalid directive\n"}],
);
my $save_temps = $ENV{DEBUG};
# one NUL
['nul-1', '--files0-from=-', '<', {IN=>"\0"}, {EXIT=>1},
- {ERR => "$prog: -:1: invalid zero-length file name\n"}],
+ {ERR => "$prog: '-':1: invalid zero-length file name\n"}],
# two NULs
['nul-2', '--files0-from=-', '<', {IN=>"\0\0"}, {EXIT=>1},
{OUT=>"0 0 0 total\n"},
- {ERR => "$prog: -:1: invalid zero-length file name\n"
- . "$prog: -:2: invalid zero-length file name\n"}],
+ {ERR => "$prog: '-':1: invalid zero-length file name\n"
+ . "$prog: '-':2: invalid zero-length file name\n"}],
# one file name, no NUL
['1', '--files0-from=-', '<',
['zero-len', '--files0-from=-', '<',
{IN=>{f=>"\0g\0"}}, {AUX=>{g=>''}},
{OUT=>"0 0 0 g\n0 0 0 total\n"},
- {ERR => "$prog: -:1: invalid zero-length file name\n"}, {EXIT=>1} ],
+ {ERR => "$prog: '-':1: invalid zero-length file name\n"}, {EXIT=>1} ],
);
my $save_temps = $ENV{DEBUG};