From 08e8fd7e38f2dae7c69c54eb22d508b6517e66e5 Mon Sep 17 00:00:00 2001
From: Pádraig Brady
Date: Sun, 1 Nov 2015 18:53:26 +0000
Subject: all: avoid quoting file names when possible
Quote file names using the "shell-escape" or "shell-escape-always"
methods, which quote as appropriate for most shells,
and better support copy and paste of presented names.
The "always" variant is used when the file name is
embedded in an error message with surrounding spaces.
* cfg.mk (sc_error_shell_quotes): A new syntax check rule
to suggest quotef() where appropriate.
(sc_error_shell_always_quotes): Likewise for quoteaf().
* src/system.h (quotef): A new define to apply shell quoting
when needed. I.E. when shell character or ':' is present.
(quoteaf): Likewise, but always quote.
* src/*.c: Use quotef() and quoteaf() rather than quote()
where appropriate.
* tests/: Adjust accordingly.
---
src/base64.c | 6 +-
src/cat.c | 15 +++--
src/chcon.c | 19 +++---
src/chgrp.c | 7 ++-
src/chmod.c | 24 ++++----
src/chown-core.c | 15 +++--
src/chown.c | 4 +-
src/chroot.c | 6 +-
src/cksum.c | 9 ++-
src/comm.c | 8 +--
src/copy.c | 162 +++++++++++++++++++++++++------------------------
src/coreutils.c | 6 +-
src/cp.c | 30 ++++-----
src/csplit.c | 13 ++--
src/cut.c | 7 +--
src/date.c | 6 +-
src/dd.c | 62 ++++++++++---------
src/df.c | 8 +--
src/dircolors.c | 8 +--
src/du.c | 20 +++---
src/expand.c | 6 +-
src/expr.c | 1 -
src/find-mount-point.c | 11 ++--
src/fmt.c | 5 +-
src/fold.c | 7 +--
src/head.c | 28 ++++-----
src/hostname.c | 3 +-
src/install.c | 42 +++++++------
src/join.c | 10 +--
src/link.c | 2 +-
src/ln.c | 45 +++++++-------
src/ls.c | 7 +--
src/md5sum.c | 19 +++---
src/mkdir.c | 8 +--
src/mkfifo.c | 4 +-
src/mknod.c | 6 +-
src/mv.c | 15 +++--
src/nl.c | 6 +-
src/nohup.c | 9 ++-
src/od.c | 8 +--
src/paste.c | 14 ++---
src/pathchk.c | 11 ++--
src/pinky.c | 3 +-
src/pr.c | 6 +-
src/ptx.c | 4 +-
src/pwd.c | 4 +-
src/readlink.c | 3 +-
src/realpath.c | 13 ++--
src/remove.c | 21 +++----
src/rm.c | 8 +--
src/rmdir.c | 9 ++-
src/runcon.c | 2 +-
src/selinux.c | 5 +-
src/shred.c | 7 +--
src/shuf.c | 6 +-
src/sort.c | 29 +++++----
src/split.c | 68 ++++++++++-----------
src/stat.c | 16 ++---
src/stty.c | 26 ++++----
src/sum.c | 15 +++--
src/sync.c | 10 +--
src/system.h | 21 ++++++-
src/tac.c | 27 ++++-----
src/tail.c | 74 +++++++++++-----------
src/tee.c | 7 +--
src/touch.c | 8 +--
src/truncate.c | 22 +++----
src/tsort.c | 10 +--
src/unexpand.c | 6 +-
src/uniq.c | 8 +--
src/unlink.c | 2 +-
src/uptime.c | 2 +-
src/users.c | 2 +-
src/wc.c | 25 ++++----
src/who.c | 2 +-
75 files changed, 591 insertions(+), 582 deletions(-)
(limited to 'src')
diff --git a/src/base64.c b/src/base64.c
index d5755ba5e..5ec9a9e0a 100644
--- a/src/base64.c
+++ b/src/base64.c
@@ -27,8 +27,8 @@
#include "system.h"
#include "error.h"
#include "fadvise.h"
-#include "xstrtol.h"
#include "quote.h"
+#include "xstrtol.h"
#include "xdectoint.h"
#include "xfreopen.h"
@@ -327,7 +327,7 @@ main (int argc, char **argv)
{
input_fh = fopen (infile, "rb");
if (input_fh == NULL)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
}
fadvise (input_fh, FADVISE_SEQUENTIAL);
@@ -342,7 +342,7 @@ main (int argc, char **argv)
if (STREQ (infile, "-"))
error (EXIT_FAILURE, errno, _("closing standard input"));
else
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
}
return EXIT_SUCCESS;
diff --git a/src/cat.c b/src/cat.c
index 01a66c0a1..777854c62 100644
--- a/src/cat.c
+++ b/src/cat.c
@@ -37,7 +37,6 @@
#include "error.h"
#include "fadvise.h"
#include "full-write.h"
-#include "quote.h"
#include "safe-read.h"
#include "xfreopen.h"
@@ -169,7 +168,7 @@ simple_cat (
n_read = safe_read (input_desc, buf, bufsize);
if (n_read == SAFE_READ_ERROR)
{
- error (0, errno, "%s", quote (infile));
+ error (0, errno, "%s", quotef (infile));
return false;
}
@@ -325,7 +324,7 @@ cat (
else
{
error (0, errno, _("cannot do ioctl on %s"),
- quote (infile));
+ quoteaf (infile));
newlines2 = newlines;
return false;
}
@@ -342,7 +341,7 @@ cat (
n_read = safe_read (input_desc, inbuf, insize);
if (n_read == SAFE_READ_ERROR)
{
- error (0, errno, "%s", quote (infile));
+ error (0, errno, "%s", quotef (infile));
write_pending (outbuf, &bpout);
newlines2 = newlines;
return false;
@@ -673,7 +672,7 @@ main (int argc, char **argv)
input_desc = open (infile, file_open_mode);
if (input_desc < 0)
{
- error (0, errno, "%s", quote (infile));
+ error (0, errno, "%s", quotef (infile));
ok = false;
continue;
}
@@ -681,7 +680,7 @@ main (int argc, char **argv)
if (fstat (input_desc, &stat_buf) < 0)
{
- error (0, errno, "%s", quote (infile));
+ error (0, errno, "%s", quotef (infile));
ok = false;
goto contin;
}
@@ -697,7 +696,7 @@ main (int argc, char **argv)
&& stat_buf.st_dev == out_dev && stat_buf.st_ino == out_ino
&& lseek (input_desc, 0, SEEK_CUR) < stat_buf.st_size)
{
- error (0, 0, _("%s: input file is output file"), quote (infile));
+ error (0, 0, _("%s: input file is output file"), quotef (infile));
ok = false;
goto contin;
}
@@ -755,7 +754,7 @@ main (int argc, char **argv)
contin:
if (!STREQ (infile, "-") && close (input_desc) < 0)
{
- error (0, errno, "%s", quote (infile));
+ error (0, errno, "%s", quotef (infile));
ok = false;
}
}
diff --git a/src/chcon.c b/src/chcon.c
index 4f51d70d4..4c255d0c0 100644
--- a/src/chcon.c
+++ b/src/chcon.c
@@ -153,7 +153,7 @@ change_file_context (int fd, char const *file)
if (status < 0 && errno != ENODATA)
{
error (0, errno, _("failed to get security context of %s"),
- quote (file));
+ quoteaf (file));
return 1;
}
@@ -163,7 +163,7 @@ change_file_context (int fd, char const *file)
if (file_context == NULL)
{
error (0, 0, _("can't apply partial context to unlabeled file %s"),
- quote (file));
+ quoteaf (file));
return 1;
}
@@ -187,7 +187,7 @@ change_file_context (int fd, char const *file)
{
errors = 1;
error (0, errno, _("failed to change context of %s to %s"),
- quote_n (0, file), quote_n (1, context_string));
+ quoteaf_n (0, file), quote_n (1, context_string));
}
}
@@ -251,18 +251,19 @@ process_file (FTS *fts, FTSENT *ent)
fts_set (fts, ent, FTS_AGAIN);
return true;
}
- error (0, ent->fts_errno, _("cannot access %s"), quote (file_full_name));
+ error (0, ent->fts_errno, _("cannot access %s"),
+ quoteaf (file_full_name));
ok = false;
break;
case FTS_ERR:
- error (0, ent->fts_errno, "%s", quote (file_full_name));
+ error (0, ent->fts_errno, "%s", quotef (file_full_name));
ok = false;
break;
case FTS_DNR:
error (0, ent->fts_errno, _("cannot read directory %s"),
- quote (file_full_name));
+ quoteaf (file_full_name));
ok = false;
break;
@@ -289,7 +290,7 @@ process_file (FTS *fts, FTSENT *ent)
{
if (verbose)
printf (_("changing security context of %s\n"),
- quote (file_full_name));
+ quoteaf (file_full_name));
if (change_file_context (fts->fts_cwd_fd, file) != 0)
ok = false;
@@ -543,7 +544,7 @@ main (int argc, char **argv)
if (getfilecon (reference_file, &ref_context) < 0)
error (EXIT_FAILURE, errno, _("failed to get security context of %s"),
- quote (reference_file));
+ quoteaf (reference_file));
specified_context = ref_context;
}
@@ -572,7 +573,7 @@ main (int argc, char **argv)
root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote ("/"));
+ quoteaf ("/"));
}
else
{
diff --git a/src/chgrp.c b/src/chgrp.c
index eb1887e60..c07270cc9 100644
--- a/src/chgrp.c
+++ b/src/chgrp.c
@@ -89,7 +89,8 @@ parse_group (const char *name)
unsigned long int tmp;
if (! (xstrtoul (name, NULL, 10, &tmp, "") == LONGINT_OK
&& tmp <= GID_T_MAX))
- error (EXIT_FAILURE, 0, _("invalid group: %s"), quote (name));
+ error (EXIT_FAILURE, 0, _("invalid group: %s"),
+ quote (name));
gid = tmp;
}
endgrent (); /* Save a file descriptor. */
@@ -285,7 +286,7 @@ main (int argc, char **argv)
struct stat ref_stats;
if (stat (reference_file, &ref_stats))
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote (reference_file));
+ quoteaf (reference_file));
gid = ref_stats.st_gid;
chopt.group_name = gid_to_name (ref_stats.st_gid);
@@ -303,7 +304,7 @@ main (int argc, char **argv)
chopt.root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (chopt.root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote ("/"));
+ quoteaf ("/"));
}
bit_flags |= FTS_DEFER_STAT;
diff --git a/src/chmod.c b/src/chmod.c
index 988ba7269..4c952b363 100644
--- a/src/chmod.c
+++ b/src/chmod.c
@@ -124,7 +124,7 @@ mode_changed (int dir_fd, char const *file, char const *file_full_name,
{
if (! force_silent)
error (0, errno, _("getting new attributes of %s"),
- quote (file_full_name));
+ quoteaf (file_full_name));
return false;
}
@@ -148,7 +148,7 @@ describe_change (const char *file, mode_t old_mode, mode_t mode,
if (changed == CH_NOT_APPLIED)
{
printf (_("neither symbolic link %s nor referent has been changed\n"),
- quote (file));
+ quoteaf (file));
return;
}
@@ -168,13 +168,13 @@ describe_change (const char *file, mode_t old_mode, mode_t mode,
break;
case CH_NO_CHANGE_REQUESTED:
fmt = _("mode of %s retained as %04lo (%s)\n");
- printf (fmt, quote (file),
+ printf (fmt, quoteaf (file),
(unsigned long int) (mode & CHMOD_MODE_BITS), &perms[1]);
return;
default:
abort ();
}
- printf (fmt, quote (file),
+ printf (fmt, quoteaf (file),
(unsigned long int) (old_mode & CHMOD_MODE_BITS), &old_perms[1],
(unsigned long int) (mode & CHMOD_MODE_BITS), &perms[1]);
}
@@ -215,27 +215,27 @@ process_file (FTS *fts, FTSENT *ent)
}
if (! force_silent)
error (0, ent->fts_errno, _("cannot access %s"),
- quote (file_full_name));
+ quoteaf (file_full_name));
ok = false;
break;
case FTS_ERR:
if (! force_silent)
- error (0, ent->fts_errno, "%s", quote (file_full_name));
+ error (0, ent->fts_errno, "%s", quotef (file_full_name));
ok = false;
break;
case FTS_DNR:
if (! force_silent)
error (0, ent->fts_errno, _("cannot read directory %s"),
- quote (file_full_name));
+ quoteaf (file_full_name));
ok = false;
break;
case FTS_SLNONE:
if (! force_silent)
error (0, 0, _("cannot operate on dangling symlink %s"),
- quote (file_full_name));
+ quoteaf (file_full_name));
ok = false;
break;
@@ -275,7 +275,7 @@ process_file (FTS *fts, FTSENT *ent)
{
if (! force_silent)
error (0, errno, _("changing permissions of %s"),
- quote (file_full_name));
+ quoteaf (file_full_name));
ok = false;
}
}
@@ -311,7 +311,7 @@ process_file (FTS *fts, FTSENT *ent)
new_perms[10] = naively_expected_perms[10] = '\0';
error (0, 0,
_("%s: new permissions are %s, not %s"),
- quote (file_full_name),
+ quotef (file_full_name),
new_perms + 1, naively_expected_perms + 1);
ok = false;
}
@@ -536,7 +536,7 @@ main (int argc, char **argv)
change = mode_create_from_ref (reference_file);
if (!change)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote (reference_file));
+ quoteaf (reference_file));
}
else
{
@@ -555,7 +555,7 @@ main (int argc, char **argv)
root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote ("/"));
+ quoteaf ("/"));
}
else
{
diff --git a/src/chown-core.c b/src/chown-core.c
index e8a7d5289..0e5114606 100644
--- a/src/chown-core.c
+++ b/src/chown-core.c
@@ -26,7 +26,6 @@
#include "chown-core.h"
#include "error.h"
#include "ignore-value.h"
-#include "quote.h"
#include "root-dev-ino.h"
#include "xfts.h"
@@ -145,7 +144,7 @@ describe_change (const char *file, enum Change_status changed,
if (changed == CH_NOT_APPLIED)
{
printf (_("neither symbolic link %s nor referent has been changed\n"),
- quote (file));
+ quoteaf (file));
return;
}
@@ -185,7 +184,7 @@ describe_change (const char *file, enum Change_status changed,
abort ();
}
- printf (fmt, quote (file), old_spec, spec);
+ printf (fmt, quoteaf (file), old_spec, spec);
free (old_spec);
free (spec);
@@ -323,20 +322,20 @@ change_file_owner (FTS *fts, FTSENT *ent,
}
if (! chopt->force_silent)
error (0, ent->fts_errno, _("cannot access %s"),
- quote (file_full_name));
+ quoteaf (file_full_name));
ok = false;
break;
case FTS_ERR:
if (! chopt->force_silent)
- error (0, ent->fts_errno, "%s", quote (file_full_name));
+ error (0, ent->fts_errno, "%s", quotef (file_full_name));
ok = false;
break;
case FTS_DNR:
if (! chopt->force_silent)
error (0, ent->fts_errno, _("cannot read directory %s"),
- quote (file_full_name));
+ quoteaf (file_full_name));
ok = false;
break;
@@ -377,7 +376,7 @@ change_file_owner (FTS *fts, FTSENT *ent,
{
if (! chopt->force_silent)
error (0, errno, _("cannot dereference %s"),
- quote (file_full_name));
+ quoteaf (file_full_name));
ok = false;
}
@@ -466,7 +465,7 @@ change_file_owner (FTS *fts, FTSENT *ent,
error (0, errno, (uid != (uid_t) -1
? _("changing ownership of %s")
: _("changing group of %s")),
- quote (file_full_name));
+ quoteaf (file_full_name));
}
if (chopt->verbosity != V_off)
diff --git a/src/chown.c b/src/chown.c
index ba1814b41..79606e68b 100644
--- a/src/chown.c
+++ b/src/chown.c
@@ -287,7 +287,7 @@ main (int argc, char **argv)
struct stat ref_stats;
if (stat (reference_file, &ref_stats))
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote (reference_file));
+ quoteaf (reference_file));
uid = ref_stats.st_uid;
gid = ref_stats.st_gid;
@@ -316,7 +316,7 @@ main (int argc, char **argv)
chopt.root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (chopt.root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote ("/"));
+ quoteaf ("/"));
}
bit_flags |= FTS_DEFER_STAT;
diff --git a/src/chroot.c b/src/chroot.c
index 9551d934f..ec2f5c444 100644
--- a/src/chroot.c
+++ b/src/chroot.c
@@ -200,7 +200,7 @@ Run COMMAND with root directory set to NEWROOT.\n\
"), stdout);
printf (_("\
--skip-chdir do not change working directory to %s\n\
-"), quote ("/"));
+"), quoteaf ("/"));
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
@@ -284,7 +284,7 @@ main (int argc, char **argv)
if (! is_oldroot && skip_chdir)
{
error (0, 0, _("option --skip-chdir only permitted if NEWROOT is old %s"),
- quote ("/"));
+ quoteaf ("/"));
usage (EXIT_CANCELED);
}
@@ -327,7 +327,7 @@ main (int argc, char **argv)
if (chroot (newroot) != 0)
error (EXIT_CANCELED, errno, _("cannot change root directory to %s"),
- quote (newroot));
+ quoteaf (newroot));
if (! skip_chdir && chdir ("/"))
error (EXIT_CANCELED, errno, _("cannot chdir to root directory"));
diff --git a/src/cksum.c b/src/cksum.c
index 2a19c678a..ef51010b2 100644
--- a/src/cksum.c
+++ b/src/cksum.c
@@ -44,7 +44,6 @@
#include
#include "system.h"
#include "fadvise.h"
-#include "quote.h"
#include "xfreopen.h"
#ifdef CRCTAB
@@ -202,7 +201,7 @@ cksum (const char *file, bool print_name)
fp = fopen (file, (O_BINARY ? "rb" : "r"));
if (fp == NULL)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
}
@@ -214,7 +213,7 @@ cksum (const char *file, bool print_name)
unsigned char *cp = buf;
if (length + bytes_read < length)
- error (EXIT_FAILURE, 0, _("%s: file too long"), quote (file));
+ error (EXIT_FAILURE, 0, _("%s: file too long"), quotef (file));
length += bytes_read;
while (bytes_read--)
crc = (crc << 8) ^ crctab[((crc >> 24) ^ *cp++) & 0xFF];
@@ -224,7 +223,7 @@ cksum (const char *file, bool print_name)
if (ferror (fp))
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
if (!STREQ (file, "-"))
fclose (fp);
return false;
@@ -232,7 +231,7 @@ cksum (const char *file, bool print_name)
if (!STREQ (file, "-") && fclose (fp) == EOF)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
diff --git a/src/comm.c b/src/comm.c
index a6fbde196..d4c9f24df 100644
--- a/src/comm.c
+++ b/src/comm.c
@@ -274,13 +274,13 @@ compare_files (char **infiles)
alt[i][2] = 0;
streams[i] = (STREQ (infiles[i], "-") ? stdin : fopen (infiles[i], "r"));
if (!streams[i])
- error (EXIT_FAILURE, errno, "%s", quote (infiles[i]));
+ error (EXIT_FAILURE, errno, "%s", quotef (infiles[i]));
fadvise (streams[i], FADVISE_SEQUENTIAL);
thisline[i] = readlinebuffer (all_line[i][alt[i][0]], streams[i]);
if (ferror (streams[i]))
- error (EXIT_FAILURE, errno, "%s", quote (infiles[i]));
+ error (EXIT_FAILURE, errno, "%s", quotef (infiles[i]));
}
while (thisline[0] || thisline[1])
@@ -350,7 +350,7 @@ compare_files (char **infiles)
all_line[i][alt[i][1]], i + 1);
if (ferror (streams[i]))
- error (EXIT_FAILURE, errno, "%s", quote (infiles[i]));
+ error (EXIT_FAILURE, errno, "%s", quotef (infiles[i]));
fill_up[i] = false;
}
@@ -358,7 +358,7 @@ compare_files (char **infiles)
for (i = 0; i < 2; i++)
if (fclose (streams[i]) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (infiles[i]));
+ error (EXIT_FAILURE, errno, "%s", quotef (infiles[i]));
}
int
diff --git a/src/copy.c b/src/copy.c
index edf022ef1..dc1cd2904 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -178,7 +178,7 @@ create_hole (int fd, char const *name, bool punch_holes, off_t size)
if (file_end < 0)
{
- error (0, errno, _("cannot lseek %s"), quote (name));
+ error (0, errno, _("cannot lseek %s"), quoteaf (name));
return false;
}
@@ -188,7 +188,7 @@ create_hole (int fd, char const *name, bool punch_holes, off_t size)
then make this allocation permanent. */
if (punch_holes && punch_hole (fd, file_end - size, size) < 0)
{
- error (0, errno, _("error deallocating %s"), quote (name));
+ error (0, errno, _("error deallocating %s"), quoteaf (name));
return false;
}
@@ -226,7 +226,7 @@ sparse_copy (int src_fd, int dest_fd, char *buf, size_t buf_size,
{
if (errno == EINTR)
continue;
- error (0, errno, _("error reading %s"), quote (src_name));
+ error (0, errno, _("error reading %s"), quoteaf (src_name));
return false;
}
if (n_read == 0)
@@ -259,7 +259,8 @@ sparse_copy (int src_fd, int dest_fd, char *buf, size_t buf_size,
{
if (full_write (dest_fd, pbuf, psize) != psize)
{
- error (0, errno, _("error writing %s"), quote (dst_name));
+ error (0, errno, _("error writing %s"),
+ quoteaf (dst_name));
return false;
}
}
@@ -289,7 +290,7 @@ sparse_copy (int src_fd, int dest_fd, char *buf, size_t buf_size,
psize += csize;
else
{
- error (0, 0, _("overflow reading %s"), quote (src_name));
+ error (0, 0, _("overflow reading %s"), quoteaf (src_name));
return false;
}
}
@@ -407,7 +408,7 @@ extent_copy (int src_fd, int dest_fd, char *buf, size_t buf_size,
}
error (0, errno, _("%s: failed to get extents info"),
- quote (src_name));
+ quotef (src_name));
return false;
}
@@ -439,7 +440,7 @@ extent_copy (int src_fd, int dest_fd, char *buf, size_t buf_size,
{
if (lseek (src_fd, ext_start, SEEK_SET) < 0)
{
- error (0, errno, _("cannot lseek %s"), quote (src_name));
+ error (0, errno, _("cannot lseek %s"), quoteaf (src_name));
fail:
extent_scan_free (&scan);
return false;
@@ -465,7 +466,8 @@ extent_copy (int src_fd, int dest_fd, char *buf, size_t buf_size,
if (! write_zeros (dest_fd, nzeros))
{
- error (0, errno, _("%s: write failed"), quote (dst_name));
+ error (0, errno, _("%s: write failed"),
+ quotef (dst_name));
goto fail;
}
@@ -534,14 +536,14 @@ extent_copy (int src_fd, int dest_fd, char *buf, size_t buf_size,
? ftruncate (dest_fd, src_total_size)
: ! write_zeros (dest_fd, src_total_size - dest_pos)))
{
- error (0, errno, _("failed to extend %s"), quote (dst_name));
+ error (0, errno, _("failed to extend %s"), quoteaf (dst_name));
return false;
}
if (sparse_mode == SPARSE_ALWAYS && dest_pos < src_total_size
&& punch_hole (dest_fd, dest_pos, src_total_size - dest_pos) < 0)
{
- error (0, errno, _("error deallocating %s"), quote (dst_name));
+ error (0, errno, _("error deallocating %s"), quoteaf (dst_name));
return false;
}
@@ -604,7 +606,7 @@ copy_attr_allerror (struct error_context *ctx _GL_UNUSED,
static char const *
copy_attr_quote (struct error_context *ctx _GL_UNUSED, char const *str)
{
- return quote (str);
+ return quoteaf (str);
}
static void
@@ -695,7 +697,7 @@ copy_dir (char const *src_name_in, char const *dst_name_in, bool new_dst,
{
/* This diagnostic is a bit vague because savedir can fail in
several different ways. */
- error (0, errno, _("cannot access %s"), quote (src_name_in));
+ error (0, errno, _("cannot access %s"), quoteaf (src_name_in));
return false;
}
@@ -777,7 +779,7 @@ set_owner (const struct cp_options *x, char const *dst_name, int dest_desc,
{
if (! owner_failure_ok (x))
error (0, errno, _("clearing permissions for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
return -x->require_preserve;
}
}
@@ -812,7 +814,7 @@ set_owner (const struct cp_options *x, char const *dst_name, int dest_desc,
if (! chown_failure_ok (x))
{
error (0, errno, _("failed to preserve ownership for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
if (x->require_preserve)
return -1;
}
@@ -837,13 +839,13 @@ set_author (const char *dst_name, int dest_desc, const struct stat *src_sb)
? file_name_lookup (dst_name, 0, 0)
: getdport (dest_desc));
if (file == MACH_PORT_NULL)
- error (0, errno, _("failed to lookup file %s"), quote (dst_name));
+ error (0, errno, _("failed to lookup file %s"), quoteaf (dst_name));
else
{
error_t err = file_chauthor (file, src_sb->st_author);
if (err)
error (0, err, _("failed to preserve authorship for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
mach_port_deallocate (mach_task_self (), file);
}
#else
@@ -895,7 +897,7 @@ set_process_security_ctx (char const *src_name, char const *dst_name,
{
error (0, errno,
_("failed to get security context of %s"),
- quote (src_name));
+ quoteaf (src_name));
}
if (x->require_preserve_context)
return false;
@@ -910,7 +912,7 @@ set_process_security_ctx (char const *src_name, char const *dst_name,
{
error (0, errno,
_("failed to set default file creation context for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
}
}
@@ -936,7 +938,7 @@ set_file_security_ctx (char const *dst_name, bool process_local,
{
if (all_errors || (some_errors && !errno_unsupported (errno)))
error (0, errno, _("failed to set the security context of %s"),
- quote_n (0, dst_name));
+ quoteaf_n (0, dst_name));
return false;
}
@@ -1008,13 +1010,13 @@ copy_reg (char const *src_name, char const *dst_name,
| (x->dereference == DEREF_NEVER ? O_NOFOLLOW : 0)));
if (source_desc < 0)
{
- error (0, errno, _("cannot open %s for reading"), quote (src_name));
+ error (0, errno, _("cannot open %s for reading"), quoteaf (src_name));
return false;
}
if (fstat (source_desc, &src_open_sb) != 0)
{
- error (0, errno, _("cannot fstat %s"), quote (src_name));
+ error (0, errno, _("cannot fstat %s"), quoteaf (src_name));
return_val = false;
goto close_src_desc;
}
@@ -1025,7 +1027,7 @@ copy_reg (char const *src_name, char const *dst_name,
{
error (0, 0,
_("skipping file %s, as it was replaced while being copied"),
- quote (src_name));
+ quoteaf (src_name));
return_val = false;
goto close_src_desc;
}
@@ -1064,12 +1066,12 @@ copy_reg (char const *src_name, char const *dst_name,
{
if (unlink (dst_name) != 0)
{
- error (0, errno, _("cannot remove %s"), quote (dst_name));
+ error (0, errno, _("cannot remove %s"), quoteaf (dst_name));
return_val = false;
goto close_src_desc;
}
if (x->verbose)
- printf (_("removed %s\n"), quote (dst_name));
+ printf (_("removed %s\n"), quoteaf (dst_name));
/* Tell caller that the destination file was unlinked. */
*new_dst = true;
@@ -1122,7 +1124,7 @@ copy_reg (char const *src_name, char const *dst_name,
else
{
error (0, 0, _("not writing through dangling symlink %s"),
- quote (dst_name));
+ quoteaf (dst_name));
return_val = false;
goto close_src_desc;
}
@@ -1160,14 +1162,14 @@ copy_reg (char const *src_name, char const *dst_name,
/* Otherwise, it's an error. */
error (0, dest_errno, _("cannot create regular file %s"),
- quote (dst_name));
+ quoteaf (dst_name));
return_val = false;
goto close_src_desc;
}
if (fstat (dest_desc, &sb) != 0)
{
- error (0, errno, _("cannot fstat %s"), quote (dst_name));
+ error (0, errno, _("cannot fstat %s"), quoteaf (dst_name));
return_val = false;
goto close_src_and_dst_desc;
}
@@ -1181,7 +1183,7 @@ copy_reg (char const *src_name, char const *dst_name,
if (!clone_ok)
{
error (0, errno, _("failed to clone %s from %s"),
- quote_n (0, dst_name), quote_n (1, src_name));
+ quoteaf_n (0, dst_name), quoteaf_n (1, src_name));
return_val = false;
goto close_src_and_dst_desc;
}
@@ -1278,7 +1280,7 @@ copy_reg (char const *src_name, char const *dst_name,
}
else if (wrote_hole_at_eof && ftruncate (dest_desc, n_read) < 0)
{
- error (0, errno, _("failed to extend %s"), quote (dst_name));
+ error (0, errno, _("failed to extend %s"), quoteaf (dst_name));
return_val = false;
goto close_src_and_dst_desc;
}
@@ -1293,7 +1295,7 @@ preserve_metadata:
if (fdutimens (dest_desc, dst_name, timespec) != 0)
{
- error (0, errno, _("preserving times for %s"), quote (dst_name));
+ error (0, errno, _("preserving times for %s"), quoteaf (dst_name));
if (x->require_preserve)
{
return_val = false;
@@ -1361,7 +1363,7 @@ preserve_metadata:
&& fchmod_or_lchmod (dest_desc, dst_name, dst_mode) != 0)
{
error (0, errno, _("preserving permissions for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
if (x->require_preserve)
return_val = false;
}
@@ -1370,13 +1372,13 @@ preserve_metadata:
close_src_and_dst_desc:
if (close (dest_desc) < 0)
{
- error (0, errno, _("failed to close %s"), quote (dst_name));
+ error (0, errno, _("failed to close %s"), quoteaf (dst_name));
return_val = false;
}
close_src_desc:
if (close (source_desc) < 0)
{
- error (0, errno, _("failed to close %s"), quote (src_name));
+ error (0, errno, _("failed to close %s"), quoteaf (src_name));
return_val = false;
}
@@ -1654,14 +1656,14 @@ overwrite_ok (struct cp_options const *x, char const *dst_name,
|| x->unlink_dest_after_failed_open)
? _("%s: replace %s, overriding mode %04lo (%s)? ")
: _("%s: unwritable %s (mode %04lo, %s); try anyway? "),
- program_name, quote (dst_name),
+ program_name, quoteaf (dst_name),
(unsigned long int) (dst_sb->st_mode & CHMOD_MODE_BITS),
&perms[1]);
}
else
{
fprintf (stderr, _("%s: overwrite %s? "),
- program_name, quote (dst_name));
+ program_name, quoteaf (dst_name));
}
return yesno ();
@@ -1728,9 +1730,9 @@ abandon_move (const struct cp_options *x,
static void
emit_verbose (char const *src, char const *dst, char const *backup_dst_name)
{
- printf ("%s -> %s", quote_n (0, src), quote_n (1, dst));
+ printf ("%s -> %s", quoteaf_n (0, src), quoteaf_n (1, dst));
if (backup_dst_name)
- printf (_(" (backup: %s)"), quote (backup_dst_name));
+ printf (_(" (backup: %s)"), quoteaf (backup_dst_name));
putchar ('\n');
}
@@ -1767,11 +1769,11 @@ create_hard_link (char const *src_name, char const *dst_name,
{
if (unlink (dst_name) != 0)
{
- error (0, errno, _("cannot remove %s"), quote (dst_name));
+ error (0, errno, _("cannot remove %s"), quoteaf (dst_name));
return false;
}
if (verbose)
- printf (_("removed %s\n"), quote (dst_name));
+ printf (_("removed %s\n"), quoteaf (dst_name));
link_failed = (linkat (AT_FDCWD, src_name, AT_FDCWD, dst_name, flags)
!= 0);
}
@@ -1779,7 +1781,7 @@ create_hard_link (char const *src_name, char const *dst_name,
if (link_failed)
{
error (0, errno, _("cannot create hard link %s to %s"),
- quote_n (0, dst_name), quote_n (1, src_name));
+ quoteaf_n (0, dst_name), quoteaf_n (1, src_name));
return false;
}
@@ -1841,7 +1843,7 @@ copy_internal (char const *src_name, char const *dst_name,
if (XSTAT (x, src_name, &src_sb) != 0)
{
- error (0, errno, _("cannot stat %s"), quote (src_name));
+ error (0, errno, _("cannot stat %s"), quoteaf (src_name));
return false;
}
@@ -1849,7 +1851,7 @@ copy_internal (char const *src_name, char const *dst_name,
if (S_ISDIR (src_mode) && !x->recursive)
{
- error (0, 0, _("omitting directory %s"), quote (src_name));
+ error (0, 0, _("omitting directory %s"), quoteaf (src_name));
return false;
}
@@ -1864,7 +1866,7 @@ copy_internal (char const *src_name, char const *dst_name,
&& seen_file (x->src_info, src_name, &src_sb))
{
error (0, 0, _("warning: source file %s specified more than once"),
- quote (src_name));
+ quoteaf (src_name));
return true;
}
@@ -1895,7 +1897,7 @@ copy_internal (char const *src_name, char const *dst_name,
{
if (errno != ENOENT)
{
- error (0, errno, _("cannot stat %s"), quote (dst_name));
+ error (0, errno, _("cannot stat %s"), quoteaf (dst_name));
return false;
}
else
@@ -1913,7 +1915,7 @@ copy_internal (char const *src_name, char const *dst_name,
x, &return_now))
{
error (0, 0, _("%s and %s are the same file"),
- quote_n (0, src_name), quote_n (1, dst_name));
+ quoteaf_n (0, src_name), quoteaf_n (1, dst_name));
return false;
}
@@ -2003,7 +2005,7 @@ copy_internal (char const *src_name, char const *dst_name,
{
error (0, 0,
_("cannot overwrite non-directory %s with directory %s"),
- quote_n (0, dst_name), quote_n (1, src_name));
+ quoteaf_n (0, dst_name), quoteaf_n (1, src_name));
return false;
}
}
@@ -2021,7 +2023,7 @@ copy_internal (char const *src_name, char const *dst_name,
{
error (0, 0,
_("will not overwrite just-created %s with %s"),
- quote_n (0, dst_name), quote_n (1, src_name));
+ quoteaf_n (0, dst_name), quoteaf_n (1, src_name));
return false;
}
}
@@ -2039,7 +2041,7 @@ copy_internal (char const *src_name, char const *dst_name,
{
error (0, 0,
_("cannot overwrite directory %s with non-directory"),
- quote (dst_name));
+ quoteaf (dst_name));
return false;
}
}
@@ -2053,7 +2055,7 @@ copy_internal (char const *src_name, char const *dst_name,
{
error (0, 0,
_("cannot move directory onto non-directory: %s -> %s"),
- quote_n (0, src_name), quote_n (0, dst_name));
+ quotef_n (0, src_name), quotef_n (0, dst_name));
return false;
}
}
@@ -2085,8 +2087,8 @@ copy_internal (char const *src_name, char const *dst_name,
? _("backing up %s would destroy source; %s not moved")
: _("backing up %s would destroy source; %s not copied"));
error (0, 0, fmt,
- quote_n (0, dst_name),
- quote_n (1, src_name));
+ quoteaf_n (0, dst_name),
+ quoteaf_n (1, src_name));
free (tmp_backup);
return false;
}
@@ -2106,7 +2108,8 @@ copy_internal (char const *src_name, char const *dst_name,
{
if (errno != ENOENT)
{
- error (0, errno, _("cannot backup %s"), quote (dst_name));
+ error (0, errno, _("cannot backup %s"),
+ quoteaf (dst_name));
return false;
}
else
@@ -2131,12 +2134,12 @@ copy_internal (char const *src_name, char const *dst_name,
{
if (unlink (dst_name) != 0 && errno != ENOENT)
{
- error (0, errno, _("cannot remove %s"), quote (dst_name));
+ error (0, errno, _("cannot remove %s"), quoteaf (dst_name));
return false;
}
new_dst = true;
if (x->verbose)
- printf (_("removed %s\n"), quote (dst_name));
+ printf (_("removed %s\n"), quoteaf (dst_name));
}
}
}
@@ -2171,7 +2174,7 @@ copy_internal (char const *src_name, char const *dst_name,
{
error (0, 0,
_("will not copy %s through just-created symlink %s"),
- quote_n (0, src_name), quote_n (1, dst_name));
+ quoteaf_n (0, src_name), quoteaf_n (1, dst_name));
return false;
}
}
@@ -2248,8 +2251,8 @@ copy_internal (char const *src_name, char const *dst_name,
if (same_name (src_name, earlier_file))
{
error (0, 0, _("cannot copy a directory, %s, into itself, %s"),
- quote_n (0, top_level_src_name),
- quote_n (1, top_level_dst_name));
+ quoteaf_n (0, top_level_src_name),
+ quoteaf_n (1, top_level_dst_name));
*copy_into_self = true;
goto un_backup;
}
@@ -2257,7 +2260,7 @@ copy_internal (char const *src_name, char const *dst_name,
{
error (0, 0, _("warning: source directory %s "
"specified more than once"),
- quote (top_level_src_name));
+ quoteaf (top_level_src_name));
/* We only do backups in move mode and for non dirs,
and in move mode this won't be the issue as the source will
be missing for subsequent attempts.
@@ -2278,7 +2281,7 @@ copy_internal (char const *src_name, char const *dst_name,
else
{
error (0, 0, _("will not create hard link %s to directory %s"),
- quote_n (0, dst_name), quote_n (1, earlier_file));
+ quoteaf_n (0, dst_name), quoteaf_n (1, earlier_file));
goto un_backup;
}
}
@@ -2335,8 +2338,8 @@ copy_internal (char const *src_name, char const *dst_name,
failing with a specific errno value. Expect problems on
non-POSIX systems. */
error (0, 0, _("cannot move %s to a subdirectory of itself, %s"),
- quote_n (0, top_level_src_name),
- quote_n (1, top_level_dst_name));
+ quoteaf_n (0, top_level_src_name),
+ quoteaf_n (1, top_level_dst_name));
/* Note that there is no need to call forget_created here,
(compare with the other calls in this file) since the
@@ -2378,7 +2381,7 @@ copy_internal (char const *src_name, char const *dst_name,
fail. Etc. */
error (0, errno,
_("cannot move %s to %s"),
- quote_n (0, src_name), quote_n (1, dst_name));
+ quoteaf_n (0, src_name), quoteaf_n (1, dst_name));
forget_created (src_sb.st_ino, src_sb.st_dev);
return false;
}
@@ -2394,7 +2397,7 @@ copy_internal (char const *src_name, char const *dst_name,
{
error (0, errno,
_("inter-device move failed: %s to %s; unable to remove target"),
- quote_n (0, src_name), quote_n (1, dst_name));
+ quoteaf_n (0, src_name), quoteaf_n (1, dst_name));
forget_created (src_sb.st_ino, src_sb.st_dev);
return false;
}
@@ -2434,7 +2437,7 @@ copy_internal (char const *src_name, char const *dst_name,
if (is_ancestor (&src_sb, ancestors))
{
error (0, 0, _("cannot copy cyclic symbolic link %s"),
- quote (src_name));
+ quoteaf (src_name));
goto un_backup;
}
@@ -2454,7 +2457,7 @@ copy_internal (char const *src_name, char const *dst_name,
if (mkdir (dst_name, dst_mode_bits & ~omitted_permissions) != 0)
{
error (0, errno, _("cannot create directory %s"),
- quote (dst_name));
+ quoteaf (dst_name));
goto un_backup;
}
@@ -2464,7 +2467,7 @@ copy_internal (char const *src_name, char const *dst_name,
if (lstat (dst_name, &dst_sb) != 0)
{
- error (0, errno, _("cannot stat %s"), quote (dst_name));
+ error (0, errno, _("cannot stat %s"), quoteaf (dst_name));
goto un_backup;
}
else if ((dst_sb.st_mode & S_IRWXU) != S_IRWXU)
@@ -2477,7 +2480,7 @@ copy_internal (char const *src_name, char const *dst_name,
if (lchmod (dst_name, dst_mode | S_IRWXU) != 0)
{
error (0, errno, _("setting permissions for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
goto un_backup;
}
}
@@ -2554,14 +2557,14 @@ copy_internal (char const *src_name, char const *dst_name,
{
error (0, 0,
_("%s: can make relative symbolic links only in current directory"),
- quote (dst_name));
+ quotef (dst_name));
goto un_backup;
}
}
if (symlink (src_name, dst_name) != 0)
{
error (0, errno, _("cannot create symbolic link %s to %s"),
- quote_n (0, dst_name), quote_n (1, src_name));
+ quoteaf_n (0, dst_name), quoteaf_n (1, src_name));
goto un_backup;
}
}
@@ -2612,7 +2615,7 @@ copy_internal (char const *src_name, char const *dst_name,
if (mknod (dst_name, src_mode & ~omitted_permissions, 0) != 0)
if (mkfifo (dst_name, src_mode & ~S_IFIFO & ~omitted_permissions) != 0)
{
- error (0, errno, _("cannot create fifo %s"), quote (dst_name));
+ error (0, errno, _("cannot create fifo %s"), quoteaf (dst_name));
goto un_backup;
}
}
@@ -2622,7 +2625,7 @@ copy_internal (char const *src_name, char const *dst_name,
!= 0)
{
error (0, errno, _("cannot create special file %s"),
- quote (dst_name));
+ quoteaf (dst_name));
goto un_backup;
}
}
@@ -2632,7 +2635,8 @@ copy_internal (char const *src_name, char const *dst_name,
dest_is_symlink = true;
if (src_link_val == NULL)
{
- error (0, errno, _("cannot read symbolic link %s"), quote (src_name));
+ error (0, errno, _("cannot read symbolic link %s"),
+ quoteaf (src_name));
goto un_backup;
}
@@ -2660,7 +2664,7 @@ copy_internal (char const *src_name, char const *dst_name,
if (! same_link)
{
error (0, saved_errno, _("cannot create symbolic link %s"),
- quote (dst_name));
+ quoteaf (dst_name));
goto un_backup;
}
}
@@ -2691,7 +2695,7 @@ copy_internal (char const *src_name, char const *dst_name,
}
else
{
- error (0, 0, _("%s has unknown file type"), quote (src_name));
+ error (0, 0, _("%s has unknown file type"), quoteaf (src_name));
goto un_backup;
}
@@ -2750,7 +2754,7 @@ copy_internal (char const *src_name, char const *dst_name,
: utimens (dst_name, timespec))
!= 0)
{
- error (0, errno, _("preserving times for %s"), quote (dst_name));
+ error (0, errno, _("preserving times for %s"), quoteaf (dst_name));
if (x->require_preserve)
return false;
}
@@ -2814,7 +2818,7 @@ copy_internal (char const *src_name, char const *dst_name,
rules for special mode bits. */
if (new_dst && lstat (dst_name, &dst_sb) != 0)
{
- error (0, errno, _("cannot stat %s"), quote (dst_name));
+ error (0, errno, _("cannot stat %s"), quoteaf (dst_name));
return false;
}
dst_mode = dst_sb.st_mode;
@@ -2828,7 +2832,7 @@ copy_internal (char const *src_name, char const *dst_name,
if (lchmod (dst_name, dst_mode | omitted_permissions) != 0)
{
error (0, errno, _("preserving permissions for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
if (x->require_preserve)
return false;
}
@@ -2854,12 +2858,12 @@ un_backup:
if (dst_backup)
{
if (rename (dst_backup, dst_name) != 0)
- error (0, errno, _("cannot un-backup %s"), quote (dst_name));
+ error (0, errno, _("cannot un-backup %s"), quoteaf (dst_name));
else
{
if (x->verbose)
printf (_("%s -> %s (unbackup)\n"),
- quote_n (0, dst_backup), quote_n (1, dst_name));
+ quoteaf_n (0, dst_backup), quoteaf_n (1, dst_name));
}
}
return false;
diff --git a/src/coreutils.c b/src/coreutils.c
index 7f868347d..4141346b3 100644
--- a/src/coreutils.c
+++ b/src/coreutils.c
@@ -174,7 +174,8 @@ main (int argc, char **argv)
{
argv[nskip] = arg_name; /* XXX: Discards any specified path. */
launch_program (prog_name, argc - nskip, argv + nskip);
- error (EXIT_FAILURE, 0, _("unknown program %s"), quote (prog_name));
+ error (EXIT_FAILURE, 0, _("unknown program %s"),
+ quote (prog_name));
}
}
@@ -198,7 +199,8 @@ main (int argc, char **argv)
/* Only print the error message when no options have been passed
to coreutils. */
if (optind == 1 && prog_name && !STREQ (prog_name, "coreutils"))
- error (0, 0, _("unknown program %s"), quote (prog_name));
+ error (0, 0, _("unknown program %s"),
+ quote (prog_name));
usage (EXIT_FAILURE);
}
diff --git a/src/cp.c b/src/cp.c
index 0ffd12d85..8fb5e444f 100644
--- a/src/cp.c
+++ b/src/cp.c
@@ -322,7 +322,7 @@ re_protect (char const *const_dst_name, size_t src_offset,
if (utimens (dst_name, timespec))
{
error (0, errno, _("failed to preserve times for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
return false;
}
}
@@ -334,7 +334,7 @@ re_protect (char const *const_dst_name, size_t src_offset,
if (! chown_failure_ok (x))
{
error (0, errno, _("failed to preserve ownership for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
return false;
}
/* Failing to preserve ownership is OK. Still, try to preserve
@@ -353,7 +353,7 @@ re_protect (char const *const_dst_name, size_t src_offset,
if (lchmod (dst_name, p->st.st_mode) != 0)
{
error (0, errno, _("failed to preserve permissions for %s"),
- quote (dst_name));
+ quoteaf (dst_name));
return false;
}
}
@@ -436,7 +436,7 @@ make_dir_parents_private (char const *const_dir, size_t src_offset,
if (src_errno)
{
error (0, src_errno, _("failed to get attributes of %s"),
- quote (src));
+ quoteaf (src));
return false;
}
@@ -480,7 +480,7 @@ make_dir_parents_private (char const *const_dir, size_t src_offset,
if (mkdir (dir, mkdir_mode) != 0)
{
error (0, errno, _("cannot make directory %s"),
- quote (dir));
+ quoteaf (dir));
return false;
}
else
@@ -496,7 +496,7 @@ make_dir_parents_private (char const *const_dir, size_t src_offset,
if (lstat (dir, &stats))
{
error (0, errno, _("failed to get attributes of %s"),
- quote (dir));
+ quoteaf (dir));
return false;
}
@@ -521,7 +521,7 @@ make_dir_parents_private (char const *const_dir, size_t src_offset,
if (lchmod (dir, stats.st_mode | S_IRWXU) != 0)
{
error (0, errno, _("setting permissions for %s"),
- quote (dir));
+ quoteaf (dir));
return false;
}
}
@@ -529,7 +529,7 @@ make_dir_parents_private (char const *const_dir, size_t src_offset,
else if (!S_ISDIR (stats.st_mode))
{
error (0, 0, _("%s exists but is not a directory"),
- quote (dir));
+ quoteaf (dir));
return false;
}
else
@@ -547,7 +547,7 @@ make_dir_parents_private (char const *const_dir, size_t src_offset,
else if (!S_ISDIR (stats.st_mode))
{
- error (0, 0, _("%s exists but is not a directory"), quote (dst_dir));
+ error (0, 0, _("%s exists but is not a directory"), quoteaf (dst_dir));
return false;
}
else
@@ -574,7 +574,7 @@ target_directory_operand (char const *file, struct stat *st, bool *new_dst)
if (err)
{
if (err != ENOENT)
- error (EXIT_FAILURE, err, _("failed to access %s"), quote (file));
+ error (EXIT_FAILURE, err, _("failed to access %s"), quoteaf (file));
*new_dst = true;
}
return is_a_dir;
@@ -597,7 +597,7 @@ do_copy (int n_files, char **file, const char *target_directory,
error (0, 0, _("missing file operand"));
else
error (0, 0, _("missing destination file operand after %s"),
- quote (file[0]));
+ quoteaf (file[0]));
usage (EXIT_FAILURE);
}
@@ -609,7 +609,7 @@ do_copy (int n_files, char **file, const char *target_directory,
"and --no-target-directory (-T)"));
if (2 < n_files)
{
- error (0, 0, _("extra operand %s"), quote (file[2]));
+ error (0, 0, _("extra operand %s"), quoteaf (file[2]));
usage (EXIT_FAILURE);
}
/* Update NEW_DST and SB, which may be checked below. */
@@ -622,7 +622,7 @@ do_copy (int n_files, char **file, const char *target_directory,
target_directory = file[--n_files];
else if (2 < n_files)
error (EXIT_FAILURE, 0, _("target %s is not a directory"),
- quote (file[n_files - 1]));
+ quoteaf (file[n_files - 1]));
}
if (target_directory)
@@ -1077,10 +1077,10 @@ main (int argc, char **argv)
struct stat st;
if (stat (optarg, &st) != 0)
error (EXIT_FAILURE, errno, _("failed to access %s"),
- quote (optarg));
+ quoteaf (optarg));
if (! S_ISDIR (st.st_mode))
error (EXIT_FAILURE, 0, _("target %s is not a directory"),
- quote (optarg));
+ quoteaf (optarg));
}
target_directory = optarg;
break;
diff --git a/src/csplit.c b/src/csplit.c
index 6507c1177..c97acb862 100644
--- a/src/csplit.c
+++ b/src/csplit.c
@@ -651,7 +651,8 @@ static void
set_input_file (const char *name)
{
if (! STREQ (name, "-") && fd_reopen (STDIN_FILENO, name, O_RDONLY, 0) < 0)
- error (EXIT_FAILURE, errno, _("cannot open %s for reading"), quote (name));
+ error (EXIT_FAILURE, errno, _("cannot open %s for reading"),
+ quoteaf (name));
}
/* Write all lines from the beginning of the buffer up to, but
@@ -969,7 +970,7 @@ create_output_file (void)
if (! fopen_ok)
{
- error (0, fopen_errno, "%s", quote (output_filename));
+ error (0, fopen_errno, "%s", quotef (output_filename));
cleanup_fatal ();
}
bytes_written = 0;
@@ -990,7 +991,7 @@ delete_all_files (bool in_signal_handler)
{
const char *name = make_filename (i);
if (unlink (name) != 0 && !in_signal_handler)
- error (0, errno, "%s", quote (name));
+ error (0, errno, "%s", quotef (name));
}
files_created = 0;
@@ -1006,13 +1007,13 @@ close_output_file (void)
{
if (ferror (output_stream))
{
- error (0, 0, _("write error for %s"), quote (output_filename));
+ error (0, 0, _("write error for %s"), quoteaf (output_filename));
output_stream = NULL;
cleanup_fatal ();
}
if (fclose (output_stream) != 0)
{
- error (0, errno, "%s", quote (output_filename));
+ error (0, errno, "%s", quotef (output_filename));
output_stream = NULL;
cleanup_fatal ();
}
@@ -1030,7 +1031,7 @@ close_output_file (void)
sigprocmask (SIG_SETMASK, &oldset, NULL);
if (! unlink_ok)
- error (0, unlink_errno, "%s", quote (output_filename));
+ error (0, unlink_errno, "%s", quotef (output_filename));
}
else
{
diff --git a/src/cut.c b/src/cut.c
index b2087695d..d1df2f8a8 100644
--- a/src/cut.c
+++ b/src/cut.c
@@ -34,7 +34,6 @@
#include "fadvise.h"
#include "getndelim2.h"
#include "hash.h"
-#include "quote.h"
#include "xstrndup.h"
#include "set-fields.h"
@@ -445,7 +444,7 @@ cut_file (char const *file)
stream = fopen (file, "r");
if (stream == NULL)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
}
@@ -456,14 +455,14 @@ cut_file (char const *file)
if (ferror (stream))
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
if (STREQ (file, "-"))
clearerr (stream); /* Also clear EOF. */
else if (fclose (stream) == EOF)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
return true;
diff --git a/src/date.c b/src/date.c
index 50e71d74a..5c3e5da7d 100644
--- a/src/date.c
+++ b/src/date.c
@@ -290,7 +290,7 @@ batch_convert (const char *input_filename, const char *format, timezone_t tz)
in_stream = fopen (input_filename, "r");
if (in_stream == NULL)
{
- error (EXIT_FAILURE, errno, "%s", quote (input_filename));
+ error (EXIT_FAILURE, errno, "%s", quotef (input_filename));
}
}
@@ -320,7 +320,7 @@ batch_convert (const char *input_filename, const char *format, timezone_t tz)
}
if (fclose (in_stream) == EOF)
- error (EXIT_FAILURE, errno, "%s", quote (input_filename));
+ error (EXIT_FAILURE, errno, "%s", quotef (input_filename));
free (line);
@@ -520,7 +520,7 @@ main (int argc, char **argv)
if (reference != NULL)
{
if (stat (reference, &refstats) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (reference));
+ error (EXIT_FAILURE, errno, "%s", quotef (reference));
when = get_stat_mtime (&refstats);
}
else
diff --git a/src/dd.c b/src/dd.c
index a1485f609..a5557a85b 100644
--- a/src/dd.c
+++ b/src/dd.c
@@ -32,7 +32,6 @@
#include "human.h"
#include "long-options.h"
#include "quote.h"
-#include "quotearg.h"
#include "verror.h"
#include "xstrtol.h"
#include "xtime.h"
@@ -911,14 +910,14 @@ cleanup (void)
{
if (close (STDIN_FILENO) < 0)
error (EXIT_FAILURE, errno,
- _("closing input file %s"), quote (input_file));
+ _("closing input file %s"), quoteaf (input_file));
/* Don't remove this call to close, even though close_stdout
closes standard output. This close is necessary when cleanup
is called as part of a signal handler. */
if (close (STDOUT_FILENO) < 0)
error (EXIT_FAILURE, errno,
- _("closing output file %s"), quote (output_file));
+ _("closing output file %s"), quoteaf (output_file));
}
/* Process any pending signals. If signals are caught, this function
@@ -1134,7 +1133,7 @@ iwrite (int fd, char const *buf, size_t size)
if (fcntl (STDOUT_FILENO, F_SETFL, old_flags & ~O_DIRECT) != 0
&& status_level != STATUS_NONE)
error (0, errno, _("failed to turn off O_DIRECT: %s"),
- quote (output_file));
+ quotef (output_file));
/* Since we have just turned off O_DIRECT for the final write,
here we try to preserve some of its semantics. First, use
@@ -1204,7 +1203,7 @@ write_output (void)
w_bytes += nwritten;
if (nwritten != output_blocksize)
{
- error (0, errno, _("writing to %s"), quote (output_file));
+ error (0, errno, _("writing to %s"), quoteaf (output_file));
if (nwritten != 0)
w_partial++;
quit (EXIT_FAILURE);
@@ -1356,7 +1355,8 @@ scanargs (int argc, char *const *argv)
if (val == NULL)
{
- error (0, 0, _("unrecognized operand %s"), quote (name));
+ error (0, 0, _("unrecognized operand %s"),
+ quote (name));
usage (EXIT_FAILURE);
}
val++;
@@ -1416,7 +1416,8 @@ scanargs (int argc, char *const *argv)
count = n;
else
{
- error (0, 0, _("unrecognized operand %s"), quote (name));
+ error (0, 0, _("unrecognized operand %s"),
+ quote (name));
usage (EXIT_FAILURE);
}
@@ -1718,7 +1719,7 @@ skip (int fdesc, char const *file, uintmax_t records, size_t blocksize,
{
struct stat st;
if (fstat (STDIN_FILENO, &st) != 0)
- error (EXIT_FAILURE, errno, _("cannot fstat %s"), quote (file));
+ error (EXIT_FAILURE, errno, _("cannot fstat %s"), quoteaf (file));
if (usable_st_size (&st) && st.st_size < input_offset + offset)
{
/* When skipping past EOF, return the number of _full_ blocks
@@ -1765,9 +1766,9 @@ skip (int fdesc, char const *file, uintmax_t records, size_t blocksize,
}
if (fdesc == STDIN_FILENO)
- error (0, lseek_errno, _("%s: cannot skip"), quote (file));
+ error (0, lseek_errno, _("%s: cannot skip"), quotef (file));
else
- error (0, lseek_errno, _("%s: cannot seek"), quote (file));
+ error (0, lseek_errno, _("%s: cannot seek"), quotef (file));
/* If the file has a specific size and we've asked
to skip/seek beyond the max allowable, then quit. */
quit (EXIT_FAILURE);
@@ -1793,12 +1794,12 @@ skip (int fdesc, char const *file, uintmax_t records, size_t blocksize,
{
if (fdesc == STDIN_FILENO)
{
- error (0, errno, _("error reading %s"), quote (file));
+ error (0, errno, _("error reading %s"), quoteaf (file));
if (conversions_mask & C_NOERROR)
print_stats ();
}
else
- error (0, lseek_errno, _("%s: cannot seek"), quote (file));
+ error (0, lseek_errno, _("%s: cannot seek"), quotef (file));
quit (EXIT_FAILURE);
}
else if (nread == 0)
@@ -1840,7 +1841,7 @@ advance_input_after_read_error (size_t nbytes)
if (input_offset_overflow)
{
error (0, 0, _("offset overflow while reading file %s"),
- quote (input_file));
+ quoteaf (input_file));
return false;
}
offset = lseek (STDIN_FILENO, 0, SEEK_CUR);
@@ -1859,7 +1860,7 @@ advance_input_after_read_error (size_t nbytes)
}
}
- error (0, errno, _("%s: cannot seek"), quote (input_file));
+ error (0, errno, _("%s: cannot seek"), quotef (input_file));
return false;
}
@@ -1998,7 +1999,7 @@ set_fd_flags (int fd, int add_flags, char const *name)
}
if (!ok)
- error (EXIT_FAILURE, errno, _("setting flags for %s"), quote (name));
+ error (EXIT_FAILURE, errno, _("setting flags for %s"), quoteaf (name));
}
}
@@ -2052,7 +2053,7 @@ dd_copy (void)
&& status_level != STATUS_NONE)
{
error (0, 0,
- _("%s: cannot skip to specified offset"), quote (input_file));
+ _("%s: cannot skip to specified offset"), quotef (input_file));
}
}
@@ -2071,7 +2072,7 @@ dd_copy (void)
size_t size = write_records ? output_blocksize : bytes;
if (iwrite (STDOUT_FILENO, obuf, size) != size)
{
- error (0, errno, _("writing to %s"), quote (output_file));
+ error (0, errno, _("writing to %s"), quoteaf (output_file));
quit (EXIT_FAILURE);
}
@@ -2130,7 +2131,7 @@ dd_copy (void)
if (nread < 0)
{
if (!(conversions_mask & C_NOERROR) || status_level != STATUS_NONE)
- error (0, errno, _("error reading %s"), quote (input_file));
+ error (0, errno, _("error reading %s"), quoteaf (input_file));
if (conversions_mask & C_NOERROR)
{
@@ -2194,7 +2195,7 @@ dd_copy (void)
w_bytes += nwritten;
if (nwritten != n_bytes_read)
{
- error (0, errno, _("error writing %s"), quote (output_file));
+ error (0, errno, _("error writing %s"), quoteaf (output_file));
return EXIT_FAILURE;
}
else if (n_bytes_read == input_blocksize)
@@ -2257,7 +2258,7 @@ dd_copy (void)
w_partial++;
if (nwritten != oc)
{
- error (0, errno, _("error writing %s"), quote (output_file));
+ error (0, errno, _("error writing %s"), quoteaf (output_file));
return EXIT_FAILURE;
}
}
@@ -2269,7 +2270,7 @@ dd_copy (void)
struct stat stdout_stat;
if (fstat (STDOUT_FILENO, &stdout_stat) != 0)
{
- error (0, errno, _("cannot fstat %s"), quote (output_file));
+ error (0, errno, _("cannot fstat %s"), quoteaf (output_file));
return EXIT_FAILURE;
}
if (S_ISREG (stdout_stat.st_mode) || S_TYPEISSHM (&stdout_stat))
@@ -2282,7 +2283,7 @@ dd_copy (void)
error (0, errno,
_("failed to truncate to %" PRIdMAX " bytes"
" in output file %s"),
- (intmax_t) output_offset, quote (output_file));
+ (intmax_t) output_offset, quoteaf (output_file));
return EXIT_FAILURE;
}
}
@@ -2293,7 +2294,7 @@ dd_copy (void)
{
if (errno != ENOSYS && errno != EINVAL)
{
- error (0, errno, _("fdatasync failed for %s"), quote (output_file));
+ error (0, errno, _("fdatasync failed for %s"), quoteaf (output_file));
exit_status = EXIT_FAILURE;
}
conversions_mask |= C_FSYNC;
@@ -2303,7 +2304,7 @@ dd_copy (void)
while (fsync (STDOUT_FILENO) != 0)
if (errno != EINTR)
{
- error (0, errno, _("fsync failed for %s"), quote (output_file));
+ error (0, errno, _("fsync failed for %s"), quoteaf (output_file));
return EXIT_FAILURE;
}
@@ -2354,7 +2355,8 @@ main (int argc, char **argv)
else
{
if (ifd_reopen (STDIN_FILENO, input_file, O_RDONLY | input_flags, 0) < 0)
- error (EXIT_FAILURE, errno, _("failed to open %s"), quote (input_file));
+ error (EXIT_FAILURE, errno, _("failed to open %s"),
+ quoteaf (input_file));
}
offset = lseek (STDIN_FILENO, 0, SEEK_CUR);
@@ -2384,7 +2386,7 @@ main (int argc, char **argv)
&& (ifd_reopen (STDOUT_FILENO, output_file, O_WRONLY | opts, perms)
< 0))
error (EXIT_FAILURE, errno, _("failed to open %s"),
- quote (output_file));
+ quoteaf (output_file));
if (seek_records != 0 && !(conversions_mask & C_NOTRUNC))
{
@@ -2409,14 +2411,14 @@ main (int argc, char **argv)
struct stat stdout_stat;
if (fstat (STDOUT_FILENO, &stdout_stat) != 0)
error (EXIT_FAILURE, errno, _("cannot fstat %s"),
- quote (output_file));
+ quoteaf (output_file));
if (S_ISREG (stdout_stat.st_mode)
|| S_ISDIR (stdout_stat.st_mode)
|| S_TYPEISSHM (&stdout_stat))
error (EXIT_FAILURE, ftruncate_errno,
_("failed to truncate to %"PRIuMAX" bytes"
" in output file %s"),
- size, quote (output_file));
+ size, quoteaf (output_file));
}
}
}
@@ -2431,13 +2433,13 @@ main (int argc, char **argv)
if (i_nocache && !invalidate_cache (STDIN_FILENO, 0))
{
error (0, errno, _("failed to discard cache for: %s"),
- quote (input_file));
+ quotef (input_file));
exit_status = EXIT_FAILURE;
}
if (o_nocache && !invalidate_cache (STDOUT_FILENO, 0))
{
error (0, errno, _("failed to discard cache for: %s"),
- quote (output_file));
+ quotef (output_file));
exit_status = EXIT_FAILURE;
}
}
diff --git a/src/df.c b/src/df.c
index 507a0f734..250a570b4 100644
--- a/src/df.c
+++ b/src/df.c
@@ -938,7 +938,7 @@ get_dev (char const *disk, char const *mount_point, char const* file,
}
else
{
- error (0, errno, "%s", quote (stat_file));
+ error (0, errno, "%s", quotef (stat_file));
exit_status = EXIT_FAILURE;
return;
}
@@ -1240,7 +1240,7 @@ get_disk (char const *disk)
else if (eclipsed_device)
{
error (0, 0, _("cannot access %s: over-mounted by another device"),
- quote (file));
+ quoteaf (file));
exit_status = EXIT_FAILURE;
return true;
}
@@ -1304,7 +1304,7 @@ get_point (const char *point, const struct stat *statp)
can't possibly be on this file system. */
if (errno == EIO)
{
- error (0, errno, "%s", quote (me->me_mountdir));
+ error (0, errno, "%s", quotef (me->me_mountdir));
exit_status = EXIT_FAILURE;
}
@@ -1668,7 +1668,7 @@ main (int argc, char **argv)
if ((fd < 0 || fstat (fd, &stats[i - optind]))
&& stat (argv[i], &stats[i - optind]))
{
- error (0, errno, "%s", quote (argv[i]));
+ error (0, errno, "%s", quotef (argv[i]));
exit_status = EXIT_FAILURE;
argv[i] = NULL;
}
diff --git a/src/dircolors.c b/src/dircolors.c
index f93b997a6..908835eb3 100644
--- a/src/dircolors.c
+++ b/src/dircolors.c
@@ -285,7 +285,7 @@ dc_parse_stream (FILE *fp, const char *filename)
if (arg == NULL)
{
error (0, 0, _("%s:%lu: invalid line; missing second token"),
- quote (filename), (unsigned long int) line_number);
+ quotef (filename), (unsigned long int) line_number);
ok = false;
free (keywd);
continue;
@@ -357,7 +357,7 @@ dc_parse_stream (FILE *fp, const char *filename)
if (unrecognized && (state == ST_TERMSURE || state == ST_TERMYES))
{
error (0, 0, _("%s:%lu: unrecognized keyword %s"),
- (filename ? quote (filename) : _("")),
+ (filename ? quotef (filename) : _("")),
(unsigned long int) line_number, keywd);
ok = false;
}
@@ -376,7 +376,7 @@ dc_parse_file (const char *filename)
if (! STREQ (filename, "-") && freopen (filename, "r", stdin) == NULL)
{
- error (0, errno, "%s", quote (filename));
+ error (0, errno, "%s", quotef (filename));
return false;
}
@@ -384,7 +384,7 @@ dc_parse_file (const char *filename)
if (fclose (stdin) != 0)
{
- error (0, errno, "%s", quote (filename));
+ error (0, errno, "%s", quotef (filename));
return false;
}
diff --git a/src/du.c b/src/du.c
index af6af04f2..19f85a83a 100644
--- a/src/du.c
+++ b/src/du.c
@@ -506,7 +506,7 @@ process_file (FTS *fts, FTSENT *ent)
if (info == FTS_DNR)
{
/* An error occurred, but the size is known, so count it. */
- error (0, ent->fts_errno, _("cannot read directory %s"), quote (file));
+ error (0, ent->fts_errno, _("cannot read directory %s"), quoteaf (file));
ok = false;
}
else if (info != FTS_DP)
@@ -526,7 +526,7 @@ process_file (FTS *fts, FTSENT *ent)
if (info == FTS_NS || info == FTS_SLNONE)
{
- error (0, ent->fts_errno, _("cannot access %s"), quote (file));
+ error (0, ent->fts_errno, _("cannot access %s"), quoteaf (file));
return false;
}
@@ -566,7 +566,7 @@ process_file (FTS *fts, FTSENT *ent)
case FTS_ERR:
/* An error occurred, but the size is known, so count it. */
- error (0, ent->fts_errno, "%s", quote (file));
+ error (0, ent->fts_errno, "%s", quotef (file));
ok = false;
break;
@@ -691,7 +691,7 @@ du_files (char **files, int bit_flags)
if (errno != 0)
{
error (0, errno, _("fts_read failed: %s"),
- quote (fts->fts_path));
+ quotef (fts->fts_path));
ok = false;
}
@@ -882,7 +882,7 @@ main (int argc, char **argv)
if (add_exclude_file (add_exclude, exclude, optarg,
EXCLUDE_WILDCARDS, '\n'))
{
- error (0, errno, "%s", quote (optarg));
+ error (0, errno, "%s", quotef (optarg));
ok = false;
}
break;
@@ -1020,7 +1020,7 @@ main (int argc, char **argv)
if (! (STREQ (files_from, "-") || freopen (files_from, "r", stdin)))
error (EXIT_FAILURE, errno, _("cannot open %s for reading"),
- quote (files_from));
+ quoteaf (files_from));
ai = argv_iter_init_stream (stdin);
@@ -1068,7 +1068,7 @@ main (int argc, char **argv)
goto argv_iter_done;
case AI_ERR_READ:
error (0, errno, _("%s: read error"),
- quote (files_from));
+ quotef (files_from));
ok = false;
goto argv_iter_done;
case AI_ERR_MEM:
@@ -1083,7 +1083,7 @@ main (int argc, char **argv)
printf - | du --files0-from=- */
error (0, 0, _("when reading file names from stdin, "
"no file name of %s allowed"),
- quote (file_name));
+ quoteaf (file_name));
skip_file = true;
}
@@ -1105,7 +1105,7 @@ main (int argc, char **argv)
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", quote (files_from),
+ error (0, 0, "%s:%lu: %s", quotef (files_from),
file_number, _("invalid zero-length file name"));
}
skip_file = true;
@@ -1127,7 +1127,7 @@ main (int argc, char **argv)
di_set_free (di_mnt);
if (files_from && (ferror (stdin) || fclose (stdin) != 0) && ok)
- error (EXIT_FAILURE, 0, _("error reading %s"), quote (files_from));
+ error (EXIT_FAILURE, 0, _("error reading %s"), quoteaf (files_from));
if (print_grand_total)
print_size (&tot_dui, _("total"));
diff --git a/src/expand.c b/src/expand.c
index 843bb87be..563a9e956 100644
--- a/src/expand.c
+++ b/src/expand.c
@@ -224,14 +224,14 @@ next_file (FILE *fp)
{
if (ferror (fp))
{
- error (0, errno, "%s", quote (prev_file));
+ error (0, errno, "%s", quotef (prev_file));
exit_status = EXIT_FAILURE;
}
if (STREQ (prev_file, "-"))
clearerr (fp); /* Also clear EOF. */
else if (fclose (fp) != 0)
{
- error (0, errno, "%s", quote (prev_file));
+ error (0, errno, "%s", quotef (prev_file));
exit_status = EXIT_FAILURE;
}
}
@@ -251,7 +251,7 @@ next_file (FILE *fp)
fadvise (fp, FADVISE_SEQUENTIAL);
return fp;
}
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
exit_status = EXIT_FAILURE;
}
return NULL;
diff --git a/src/expr.c b/src/expr.c
index 536e68131..59332b184 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -36,7 +36,6 @@
#include
#include "error.h"
#include "long-options.h"
-#include "quotearg.h"
#include "strnumcmp.h"
#include "xstrtol.h"
diff --git a/src/find-mount-point.c b/src/find-mount-point.c
index 59a60e271..586bd2f33 100644
--- a/src/find-mount-point.c
+++ b/src/find-mount-point.c
@@ -19,7 +19,6 @@
#include "system.h"
#include "error.h"
-#include "quote.h"
#include "save-cwd.h"
#include "xgetcwd.h"
#include "find-mount-point.h"
@@ -47,7 +46,7 @@ find_mount_point (char const *file, struct stat const *file_stat)
last_stat = *file_stat;
if (chdir (file) < 0)
{
- error (0, errno, _("cannot change to directory %s"), quote (file));
+ error (0, errno, _("cannot change to directory %s"), quoteaf (file));
return NULL;
}
}
@@ -61,14 +60,14 @@ find_mount_point (char const *file, struct stat const *file_stat)
if (chdir (dir) < 0)
{
- error (0, errno, _("cannot change to directory %s"), quote (dir));
+ error (0, errno, _("cannot change to directory %s"), quoteaf (dir));
return NULL;
}
if (stat (".", &last_stat) < 0)
{
error (0, errno, _("cannot stat current directory (now %s)"),
- quote (dir));
+ quoteaf (dir));
goto done;
}
}
@@ -81,7 +80,7 @@ find_mount_point (char const *file, struct stat const *file_stat)
struct stat st;
if (stat ("..", &st) < 0)
{
- error (0, errno, _("cannot stat %s"), quote (".."));
+ error (0, errno, _("cannot stat %s"), quoteaf (".."));
goto done;
}
if (st.st_dev != last_stat.st_dev || st.st_ino == last_stat.st_ino)
@@ -89,7 +88,7 @@ find_mount_point (char const *file, struct stat const *file_stat)
break;
if (chdir ("..") < 0)
{
- error (0, errno, _("cannot change to directory %s"), quote (".."));
+ error (0, errno, _("cannot change to directory %s"), quoteaf (".."));
goto done;
}
last_stat = st;
diff --git a/src/fmt.c b/src/fmt.c
index f37f7cd88..46a8bce4b 100644
--- a/src/fmt.c
+++ b/src/fmt.c
@@ -29,7 +29,6 @@
#include "system.h"
#include "error.h"
#include "fadvise.h"
-#include "quote.h"
#include "xdectoint.h"
/* The official name of this program (e.g., no 'g' prefix). */
@@ -431,14 +430,14 @@ main (int argc, char **argv)
fmt (in_stream);
if (fclose (in_stream) == EOF)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
ok = false;
}
}
else
{
error (0, errno, _("cannot open %s for reading"),
- quote (file));
+ quoteaf (file));
ok = false;
}
}
diff --git a/src/fold.c b/src/fold.c
index 2f917f400..4a445d50b 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -25,7 +25,6 @@
#include "system.h"
#include "error.h"
#include "fadvise.h"
-#include "quote.h"
#include "xdectoint.h"
#define TAB_WIDTH 8
@@ -137,7 +136,7 @@ fold_file (char const *filename, size_t width)
if (istream == NULL)
{
- error (0, errno, "%s", quote (filename));
+ error (0, errno, "%s", quotef (filename));
return false;
}
@@ -222,14 +221,14 @@ fold_file (char const *filename, size_t width)
if (ferror (istream))
{
- error (0, saved_errno, "%s", quote (filename));
+ error (0, saved_errno, "%s", quotef (filename));
if (!STREQ (filename, "-"))
fclose (istream);
return false;
}
if (!STREQ (filename, "-") && fclose (istream) == EOF)
{
- error (0, errno, "%s", quote (filename));
+ error (0, errno, "%s", quotef (filename));
return false;
}
diff --git a/src/head.c b/src/head.c
index a77376d10..e05c21935 100644
--- a/src/head.c
+++ b/src/head.c
@@ -145,10 +145,10 @@ diagnose_copy_fd_failure (enum Copy_fd_status err, char const *filename)
switch (err)
{
case COPY_FD_READ_ERROR:
- error (0, errno, _("error reading %s"), quote (filename));
+ error (0, errno, _("error reading %s"), quoteaf (filename));
break;
case COPY_FD_UNEXPECTED_EOF:
- error (0, errno, _("%s: file has shrunk too much"), quote (filename));
+ error (0, errno, _("%s: file has shrunk too much"), quotef (filename));
break;
default:
abort ();
@@ -174,7 +174,7 @@ xwrite_stdout (char const *buffer, size_t n_bytes)
{
clearerr (stdout); /* To avoid redundant close_stdout diagnostic. */
error (EXIT_FAILURE, errno, _("error writing %s"),
- quote ("standard output"));
+ quoteaf ("standard output"));
}
}
@@ -222,7 +222,7 @@ elseek (int fd, off_t offset, int whence, char const *filename)
_(whence == SEEK_SET
? N_("%s: cannot seek to offset %s")
: N_("%s: cannot seek to relative offset %s")),
- quote (filename),
+ quotef (filename),
offtostr (offset, buf));
return new_offset;
@@ -296,7 +296,7 @@ elide_tail_bytes_pipe (const char *filename, int fd, uintmax_t n_elide_0,
{
if (errno != 0)
{
- error (0, errno, _("error reading %s"), quote (filename));
+ error (0, errno, _("error reading %s"), quoteaf (filename));
ok = false;
break;
}
@@ -378,7 +378,7 @@ elide_tail_bytes_pipe (const char *filename, int fd, uintmax_t n_elide_0,
{
if (errno != 0)
{
- error (0, errno, _("error reading %s"), quote (filename));
+ error (0, errno, _("error reading %s"), quoteaf (filename));
ok = false;
goto free_mem;
}
@@ -574,7 +574,7 @@ elide_tail_lines_pipe (const char *filename, int fd, uintmax_t n_elide,
if (n_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (filename));
+ error (0, errno, _("error reading %s"), quoteaf (filename));
ok = false;
goto free_lbuffers;
}
@@ -656,7 +656,7 @@ elide_tail_lines_seekable (const char *pretty_filename, int fd,
bytes_read = safe_read (fd, buffer, bytes_read);
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (pretty_filename));
+ error (0, errno, _("error reading %s"), quoteaf (pretty_filename));
return false;
}
@@ -725,7 +725,7 @@ elide_tail_lines_seekable (const char *pretty_filename, int fd,
bytes_read = safe_read (fd, buffer, BUFSIZ);
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (pretty_filename));
+ error (0, errno, _("error reading %s"), quoteaf (pretty_filename));
return false;
}
@@ -775,7 +775,7 @@ head_bytes (const char *filename, int fd, uintmax_t bytes_to_write)
bytes_read = safe_read (fd, buffer, bytes_to_read);
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (filename));
+ error (0, errno, _("error reading %s"), quoteaf (filename));
return false;
}
if (bytes_read == 0)
@@ -798,7 +798,7 @@ head_lines (const char *filename, int fd, uintmax_t lines_to_write)
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (filename));
+ error (0, errno, _("error reading %s"), quoteaf (filename));
return false;
}
if (bytes_read == 0)
@@ -837,7 +837,7 @@ head (const char *filename, int fd, uintmax_t n_units, bool count_lines,
if (fstat (fd, &st) != 0)
{
error (0, errno, _("cannot fstat %s"),
- quote (filename));
+ quoteaf (filename));
return false;
}
if (! presume_input_pipe && usable_st_size (&st))
@@ -878,7 +878,7 @@ head_file (const char *filename, uintmax_t n_units, bool count_lines,
fd = open (filename, O_RDONLY | O_BINARY);
if (fd < 0)
{
- error (0, errno, _("cannot open %s for reading"), quote (filename));
+ error (0, errno, _("cannot open %s for reading"), quoteaf (filename));
return false;
}
}
@@ -886,7 +886,7 @@ head_file (const char *filename, uintmax_t n_units, bool count_lines,
ok = head (filename, fd, n_units, count_lines, elide_from_end);
if (!is_stdin && close (fd) != 0)
{
- error (0, errno, _("failed to close %s"), quote (filename));
+ error (0, errno, _("failed to close %s"), quoteaf (filename));
return false;
}
return ok;
diff --git a/src/hostname.c b/src/hostname.c
index 371a2e1d9..bc421d144 100644
--- a/src/hostname.c
+++ b/src/hostname.c
@@ -91,7 +91,8 @@ main (int argc, char **argv)
/* Set hostname to operand. */
char const *name = argv[optind];
if (sethostname (name, strlen (name)) != 0)
- error (EXIT_FAILURE, errno, _("cannot set name to %s"), quote (name));
+ error (EXIT_FAILURE, errno, _("cannot set name to %s"),
+ quote (name));
#else
error (EXIT_FAILURE, 0,
_("cannot set hostname; this system lacks the functionality"));
diff --git a/src/install.c b/src/install.c
index d338cbb29..66e2ea53d 100644
--- a/src/install.c
+++ b/src/install.c
@@ -373,7 +373,7 @@ setdefaultfilecon (char const *file)
if (lsetfilecon (file, scontext) < 0 && errno != ENOTSUP)
error (0, errno,
_("warning: %s: failed to change context to %s"),
- quote_n (0, file), quote_n (1, scontext));
+ quotef_n (0, file), quote_n (1, scontext));
freecon (scontext);
return;
@@ -401,9 +401,10 @@ target_directory_operand (char const *file)
int err = (stat (file, &st) == 0 ? 0 : errno);
bool is_a_dir = !err && S_ISDIR (st.st_mode);
if (err && err != ENOENT)
- error (EXIT_FAILURE, err, _("failed to access %s"), quote (file));
+ error (EXIT_FAILURE, err, _("failed to access %s"), quoteaf (file));
if (is_a_dir < looks_like_a_dir)
- error (EXIT_FAILURE, err, _("target %s is not a directory"), quote (file));
+ error (EXIT_FAILURE, err, _("target %s is not a directory"),
+ quoteaf (file));
return is_a_dir;
}
@@ -413,7 +414,7 @@ announce_mkdir (char const *dir, void *options)
{
struct cp_options const *x = options;
if (x->verbose)
- prog_fprintf (stdout, _("creating directory %s"), quote (dir));
+ prog_fprintf (stdout, _("creating directory %s"), quoteaf (dir));
}
/* Make ancestor directory DIR, whose last file name component is
@@ -481,9 +482,9 @@ change_attributes (char const *name)
if (! (owner_id == (uid_t) -1 && group_id == (gid_t) -1)
&& lchown (name, owner_id, group_id) != 0)
- error (0, errno, _("cannot change ownership of %s"), quote (name));
+ error (0, errno, _("cannot change ownership of %s"), quoteaf (name));
else if (chmod (name, mode) != 0)
- error (0, errno, _("cannot change permissions of %s"), quote (name));
+ error (0, errno, _("cannot change permissions of %s"), quoteaf (name));
else
ok = true;
@@ -505,7 +506,7 @@ change_timestamps (struct stat const *src_sb, char const *dest)
if (utimens (dest, timespec))
{
- error (0, errno, _("cannot set time stamps for %s"), quote (dest));
+ error (0, errno, _("cannot set time stamps for %s"), quoteaf (dest));
return false;
}
return true;
@@ -531,7 +532,7 @@ strip (char const *name)
break;
case 0: /* Child. */
execlp (strip_program, strip_program, name, NULL);
- error (EXIT_FAILURE, errno, _("cannot run %s"), quote (strip_program));
+ error (EXIT_FAILURE, errno, _("cannot run %s"), quoteaf (strip_program));
break;
default: /* Parent. */
if (waitpid (pid, &status, 0) < 0)
@@ -561,7 +562,8 @@ get_ids (void)
unsigned long int tmp;
if (xstrtoul (owner_name, NULL, 0, &tmp, NULL) != LONGINT_OK
|| UID_T_MAX < tmp)
- error (EXIT_FAILURE, 0, _("invalid user %s"), quote (owner_name));
+ error (EXIT_FAILURE, 0, _("invalid user %s"),
+ quote (owner_name));
owner_id = tmp;
}
else
@@ -579,7 +581,8 @@ get_ids (void)
unsigned long int tmp;
if (xstrtoul (group_name, NULL, 0, &tmp, NULL) != LONGINT_OK
|| GID_T_MAX < tmp)
- error (EXIT_FAILURE, 0, _("invalid group %s"), quote (group_name));
+ error (EXIT_FAILURE, 0, _("invalid group %s"),
+ quote (group_name));
group_id = tmp;
}
else
@@ -683,7 +686,7 @@ install_file_in_file (const char *from, const char *to,
struct stat from_sb;
if (x->preserve_timestamps && stat (from, &from_sb) != 0)
{
- error (0, errno, _("cannot stat %s"), quote (from));
+ error (0, errno, _("cannot stat %s"), quoteaf (from));
return false;
}
if (! copy_file (from, to, x))
@@ -692,7 +695,7 @@ install_file_in_file (const char *from, const char *to,
if (! strip (to))
{
if (unlink (to) != 0) /* Cleanup. */
- error (EXIT_FAILURE, errno, _("cannot unlink %s"), quote (to));
+ error (EXIT_FAILURE, errno, _("cannot unlink %s"), quoteaf (to));
return false;
}
if (x->preserve_timestamps && (strip_files || ! S_ISREG (from_sb.st_mode))
@@ -718,7 +721,7 @@ mkancesdirs_safe_wd (char const *from, char *to, struct cp_options *x)
if (mkancesdirs (to, &wd, make_ancestor, x) == -1)
{
- error (0, errno, _("cannot create directory %s"), quote (to));
+ error (0, errno, _("cannot create directory %s"), quoteaf (to));
status = EXIT_FAILURE;
}
@@ -731,7 +734,8 @@ mkancesdirs_safe_wd (char const *from, char *to, struct cp_options *x)
return false;
if (restore_result < 0 && status == EXIT_SUCCESS)
{
- error (0, restore_errno, _("cannot create directory %s"), quote (to));
+ error (0, restore_errno, _("cannot create directory %s"),
+ quoteaf (to));
return false;
}
}
@@ -924,10 +928,10 @@ main (int argc, char **argv)
bool stat_success = stat (target_directory, &st) == 0 ? true : false;
if (! mkdir_and_install && ! stat_success)
error (EXIT_FAILURE, errno, _("failed to access %s"),
- quote (target_directory));
+ quoteaf (target_directory));
if (stat_success && ! S_ISDIR (st.st_mode))
error (EXIT_FAILURE, 0, _("target %s is not a directory"),
- quote (target_directory));
+ quoteaf (target_directory));
}
if (backup_suffix_string)
@@ -956,7 +960,7 @@ main (int argc, char **argv)
error (0, 0, _("missing file operand"));
else
error (0, 0, _("missing destination file operand after %s"),
- quote (file[0]));
+ quoteaf (file[0]));
usage (EXIT_FAILURE);
}
@@ -968,7 +972,7 @@ main (int argc, char **argv)
"and --no-target-directory (-T)"));
if (2 < n_files)
{
- error (0, 0, _("extra operand %s"), quote (file[2]));
+ error (0, 0, _("extra operand %s"), quoteaf (file[2]));
usage (EXIT_FAILURE);
}
}
@@ -978,7 +982,7 @@ main (int argc, char **argv)
target_directory = file[--n_files];
else if (2 < n_files)
error (EXIT_FAILURE, 0, _("target %s is not a directory"),
- quote (file[n_files - 1]));
+ quoteaf (file[n_files - 1]));
}
if (specified_mode)
diff --git a/src/join.c b/src/join.c
index ffef70f77..08af0156a 100644
--- a/src/join.c
+++ b/src/join.c
@@ -971,7 +971,7 @@ add_file_name (char *name, char *names[2],
switch (operand_status[op0])
{
case MUST_BE_OPERAND:
- error (0, 0, _("extra operand %s"), quote (name));
+ error (0, 0, _("extra operand %s"), quoteaf (name));
usage (EXIT_FAILURE);
case MIGHT_BE_J1_ARG:
@@ -1183,18 +1183,18 @@ main (int argc, char **argv)
fp1 = STREQ (g_names[0], "-") ? stdin : fopen (g_names[0], "r");
if (!fp1)
- error (EXIT_FAILURE, errno, "%s", quote (g_names[0]));
+ error (EXIT_FAILURE, errno, "%s", quotef (g_names[0]));
fp2 = STREQ (g_names[1], "-") ? stdin : fopen (g_names[1], "r");
if (!fp2)
- error (EXIT_FAILURE, errno, "%s", quote (g_names[1]));
+ error (EXIT_FAILURE, errno, "%s", quotef (g_names[1]));
if (fp1 == fp2)
error (EXIT_FAILURE, errno, _("both files cannot be standard input"));
join (fp1, fp2);
if (fclose (fp1) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (g_names[0]));
+ error (EXIT_FAILURE, errno, "%s", quotef (g_names[0]));
if (fclose (fp2) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (g_names[1]));
+ error (EXIT_FAILURE, errno, "%s", quotef (g_names[1]));
if (issued_disorder_warning[0] || issued_disorder_warning[1])
return EXIT_FAILURE;
diff --git a/src/link.c b/src/link.c
index bbd182920..bee03feb5 100644
--- a/src/link.c
+++ b/src/link.c
@@ -88,7 +88,7 @@ main (int argc, char **argv)
if (link (argv[optind], argv[optind + 1]) != 0)
error (EXIT_FAILURE, errno, _("cannot create link %s to %s"),
- quote_n (0, argv[optind + 1]), quote_n (1, argv[optind]));
+ quoteaf_n (0, argv[optind + 1]), quoteaf_n (1, argv[optind]));
return EXIT_SUCCESS;
}
diff --git a/src/ln.c b/src/ln.c
index 652103b15..974a9f0e4 100644
--- a/src/ln.c
+++ b/src/ln.c
@@ -28,7 +28,6 @@
#include "file-set.h"
#include "hash.h"
#include "hash-triple.h"
-#include "quote.h"
#include "relpath.h"
#include "same.h"
#include "yesno.h"
@@ -130,9 +129,10 @@ target_directory_operand (char const *file)
int err = (stat_result == 0 ? 0 : errno);
bool is_a_dir = !err && S_ISDIR (st.st_mode);
if (err && ! errno_nonexisting (errno))
- error (EXIT_FAILURE, err, _("failed to access %s"), quote (file));
+ error (EXIT_FAILURE, err, _("failed to access %s"), quoteaf (file));
if (is_a_dir < looks_like_a_dir)
- error (EXIT_FAILURE, err, _("target %s is not a directory"), quote (file));
+ error (EXIT_FAILURE, err, _("target %s is not a directory"),
+ quoteaf (file));
return is_a_dir;
}
@@ -194,7 +194,7 @@ do_link (const char *source, const char *dest)
: lstat (source, &source_stats))
!= 0)
{
- error (0, errno, _("failed to access %s"), quote (source));
+ error (0, errno, _("failed to access %s"), quoteaf (source));
return false;
}
@@ -204,7 +204,7 @@ do_link (const char *source, const char *dest)
if (! hard_dir_link)
{
error (0, 0, _("%s: hard link not allowed for directory"),
- quote (source));
+ quotef (source));
return false;
}
}
@@ -215,7 +215,7 @@ do_link (const char *source, const char *dest)
dest_lstat_ok = (lstat (dest, &dest_stats) == 0);
if (!dest_lstat_ok && errno != ENOENT)
{
- error (0, errno, _("failed to access %s"), quote (dest));
+ error (0, errno, _("failed to access %s"), quoteaf (dest));
return false;
}
}
@@ -228,7 +228,7 @@ do_link (const char *source, const char *dest)
{
error (0, 0,
_("will not overwrite just-created %s with %s"),
- quote_n (0, dest), quote_n (1, source));
+ quoteaf_n (0, dest), quoteaf_n (1, source));
return false;
}
@@ -260,7 +260,7 @@ do_link (const char *source, const char *dest)
&& (source_stats.st_nlink == 1 || same_name (source, dest)))
{
error (0, 0, _("%s and %s are the same file"),
- quote_n (0, source), quote_n (1, dest));
+ quoteaf_n (0, source), quoteaf_n (1, dest));
return false;
}
@@ -268,12 +268,12 @@ do_link (const char *source, const char *dest)
{
if (S_ISDIR (dest_stats.st_mode))
{
- error (0, 0, _("%s: cannot overwrite directory"), quote (dest));
+ error (0, 0, _("%s: cannot overwrite directory"), quotef (dest));
return false;
}
if (interactive)
{
- fprintf (stderr, _("%s: replace %s? "), program_name, quote (dest));
+ fprintf (stderr, _("%s: replace %s? "), program_name, quoteaf (dest));
if (!yesno ())
return true;
remove_existing_files = true;
@@ -289,7 +289,8 @@ do_link (const char *source, const char *dest)
dest_backup = NULL;
if (rename_errno != ENOENT)
{
- error (0, rename_errno, _("cannot backup %s"), quote (dest));
+ error (0, rename_errno, _("cannot backup %s"),
+ quoteaf (dest));
return false;
}
}
@@ -327,7 +328,7 @@ do_link (const char *source, const char *dest)
{
if (unlink (dest) != 0)
{
- error (0, errno, _("cannot remove %s"), quote (dest));
+ error (0, errno, _("cannot remove %s"), quoteaf (dest));
free (dest_backup);
free (rel_source);
return false;
@@ -349,9 +350,9 @@ do_link (const char *source, const char *dest)
if (verbose)
{
if (dest_backup)
- printf ("%s ~ ", quote (dest_backup));
- printf ("%s %c> %s\n", quote_n (0, dest), (symbolic_link ? '-' : '='),
- quote_n (1, source));
+ printf ("%s ~ ", quoteaf (dest_backup));
+ printf ("%s %c> %s\n", quoteaf_n (0, dest),
+ (symbolic_link ? '-' : '='), quoteaf_n (1, source));
}
}
else
@@ -367,12 +368,12 @@ do_link (const char *source, const char *dest)
|| errno == EROFS)
? _("failed to create hard link %s")
: _("failed to create hard link %s => %s"))),
- quote_n (0, dest), quote_n (1, source));
+ quoteaf_n (0, dest), quoteaf_n (1, source));
if (dest_backup)
{
if (rename (dest_backup, dest) != 0)
- error (0, errno, _("cannot un-backup %s"), quote (dest));
+ error (0, errno, _("cannot un-backup %s"), quoteaf (dest));
}
}
@@ -530,10 +531,10 @@ main (int argc, char **argv)
struct stat st;
if (stat (optarg, &st) != 0)
error (EXIT_FAILURE, errno, _("failed to access %s"),
- quote (optarg));
+ quoteaf (optarg));
if (! S_ISDIR (st.st_mode))
error (EXIT_FAILURE, 0, _("target %s is not a directory"),
- quote (optarg));
+ quoteaf (optarg));
}
target_directory = optarg;
break;
@@ -575,9 +576,9 @@ main (int argc, char **argv)
if (n_files < 2)
error (0, 0,
_("missing destination file operand after %s"),
- quote (file[0]));
+ quoteaf (file[0]));
else
- error (0, 0, _("extra operand %s"), quote (file[2]));
+ error (0, 0, _("extra operand %s"), quoteaf (file[2]));
usage (EXIT_FAILURE);
}
}
@@ -589,7 +590,7 @@ main (int argc, char **argv)
target_directory = file[--n_files];
else if (2 < n_files)
error (EXIT_FAILURE, 0, _("target %s is not a directory"),
- quote (file[n_files - 1]));
+ quoteaf (file[n_files - 1]));
}
if (backup_suffix_string)
diff --git a/src/ls.c b/src/ls.c
index ef708dfa3..95a2ed8ec 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -100,7 +100,6 @@
#include "mpsort.h"
#include "obstack.h"
#include "quote.h"
-#include "quotearg.h"
#include "smack.h"
#include "stat-size.h"
#include "stat-time.h"
@@ -2534,7 +2533,7 @@ set_exit_status (bool serious)
static void
file_failure (bool serious, char const *message, char const *file)
{
- error (0, errno, message, quote (file));
+ error (0, errno, message, quoteaf (file));
set_exit_status (serious);
}
@@ -2601,7 +2600,7 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
if (visit_dir (dir_stat.st_dev, dir_stat.st_ino))
{
error (0, 0, _("%s: not listing already-listed directory"),
- quote (name));
+ quotef (name));
closedir (dirp);
set_exit_status (true);
return;
@@ -3109,7 +3108,7 @@ gobble_file (char const *name, enum filetype type, ino_t inode,
any_has_acl |= f->acl_type != ACL_T_NONE;
if (err)
- error (0, errno, "%s", quote (absolute_name));
+ error (0, errno, "%s", quotef (absolute_name));
}
if (S_ISLNK (f->stat.st_mode)
diff --git a/src/md5sum.c b/src/md5sum.c
index 16163cc9e..5d4b958ee 100644
--- a/src/md5sum.c
+++ b/src/md5sum.c
@@ -37,7 +37,6 @@
#endif
#include "error.h"
#include "fadvise.h"
-#include "quote.h"
#include "stdio--.h"
#include "xfreopen.h"
@@ -483,7 +482,7 @@ digest_file (const char *filename, int *binary, unsigned char *bin_result)
fp = fopen (filename, (O_BINARY && *binary ? "rb" : "r"));
if (fp == NULL)
{
- error (0, errno, "%s", quote (filename));
+ error (0, errno, "%s", quotef (filename));
return false;
}
}
@@ -493,7 +492,7 @@ digest_file (const char *filename, int *binary, unsigned char *bin_result)
err = DIGEST_STREAM (fp, bin_result);
if (err)
{
- error (0, errno, "%s", quote (filename));
+ error (0, errno, "%s", quotef (filename));
if (fp != stdin)
fclose (fp);
return false;
@@ -501,7 +500,7 @@ digest_file (const char *filename, int *binary, unsigned char *bin_result)
if (!is_stdin && fclose (fp) != 0)
{
- error (0, errno, "%s", quote (filename));
+ error (0, errno, "%s", quotef (filename));
return false;
}
@@ -536,7 +535,7 @@ digest_check (const char *checkfile_name)
checkfile_stream = fopen (checkfile_name, "r");
if (checkfile_stream == NULL)
{
- error (0, errno, "%s", quote (checkfile_name));
+ error (0, errno, "%s", quotef (checkfile_name));
return false;
}
}
@@ -554,7 +553,7 @@ digest_check (const char *checkfile_name)
++line_number;
if (line_number == 0)
error (EXIT_FAILURE, 0, _("%s: too many checksum lines"),
- quote (checkfile_name));
+ quotef (checkfile_name));
line_length = getline (&line, &line_chars_allocated, checkfile_stream);
if (line_length <= 0)
@@ -579,7 +578,7 @@ digest_check (const char *checkfile_name)
error (0, 0,
_("%s: %" PRIuMAX
": improperly formatted %s checksum line"),
- quote (checkfile_name), line_number,
+ quotef (checkfile_name), line_number,
DIGEST_TYPE_STRING);
}
@@ -651,13 +650,13 @@ digest_check (const char *checkfile_name)
if (ferror (checkfile_stream))
{
- error (0, 0, _("%s: read error"), quote (checkfile_name));
+ error (0, 0, _("%s: read error"), quotef (checkfile_name));
return false;
}
if (!is_stdin && fclose (checkfile_stream) != 0)
{
- error (0, errno, "%s", quote (checkfile_name));
+ error (0, errno, "%s", quotef (checkfile_name));
return false;
}
@@ -665,7 +664,7 @@ digest_check (const char *checkfile_name)
{
/* Warn if no tests are found. */
error (0, 0, _("%s: no properly formatted %s checksum lines found"),
- quote (checkfile_name), DIGEST_TYPE_STRING);
+ quotef (checkfile_name), DIGEST_TYPE_STRING);
}
else
{
diff --git a/src/mkdir.c b/src/mkdir.c
index ff51ae1e6..ef562fcde 100644
--- a/src/mkdir.c
+++ b/src/mkdir.c
@@ -109,7 +109,7 @@ announce_mkdir (char const *dir, void *options)
{
struct mkdir_options const *o = options;
if (o->created_directory_format)
- prog_fprintf (stdout, o->created_directory_format, quote (dir));
+ prog_fprintf (stdout, o->created_directory_format, quoteaf (dir));
}
/* Make ancestor directory DIR, whose last component is COMPONENT,
@@ -125,7 +125,7 @@ make_ancestor (char const *dir, char const *component, void *options)
if (o->set_security_context && defaultcon (dir, S_IFDIR) < 0
&& ! ignorable_ctx_err (errno))
error (0, errno, _("failed to set default creation context for %s"),
- quote (dir));
+ quoteaf (dir));
mode_t user_wx = S_IWUSR | S_IXUSR;
bool self_denying_umask = (o->umask_value & user_wx) != 0;
@@ -158,7 +158,7 @@ process_dir (char *dir, struct savewd *wd, void *options)
if (! o->make_ancestor_function && defaultcon (dir, S_IFDIR) < 0
&& ! ignorable_ctx_err (errno))
error (0, errno, _("failed to set default creation context for %s"),
- quote (dir));
+ quoteaf (dir));
}
int ret = (make_dir_parents (dir, wd, o->make_ancestor_function, options,
@@ -178,7 +178,7 @@ process_dir (char *dir, struct savewd *wd, void *options)
if (! restorecon (last_component (dir), false, false)
&& ! ignorable_ctx_err (errno))
error (0, errno, _("failed to restore context for %s"),
- quote (dir));
+ quoteaf (dir));
}
return ret;
diff --git a/src/mkfifo.c b/src/mkfifo.c
index 090656bdd..cf460af2b 100644
--- a/src/mkfifo.c
+++ b/src/mkfifo.c
@@ -166,13 +166,13 @@ main (int argc, char **argv)
defaultcon (argv[optind], S_IFIFO);
if (mkfifo (argv[optind], newmode) != 0)
{
- error (0, errno, _("cannot create fifo %s"), quote (argv[optind]));
+ error (0, errno, _("cannot create fifo %s"), quoteaf (argv[optind]));
exit_status = EXIT_FAILURE;
}
else if (specified_mode && lchmod (argv[optind], newmode) != 0)
{
error (0, errno, _("cannot set permissions of %s"),
- quote (argv[optind]));
+ quoteaf (argv[optind]));
exit_status = EXIT_FAILURE;
}
}
diff --git a/src/mknod.c b/src/mknod.c
index ffade1b7a..e06118368 100644
--- a/src/mknod.c
+++ b/src/mknod.c
@@ -250,7 +250,7 @@ main (int argc, char **argv)
defaultcon (argv[optind], node_type);
if (mknod (argv[optind], newmode | node_type, device) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (argv[optind]));
+ error (EXIT_FAILURE, errno, "%s", quotef (argv[optind]));
}
break;
@@ -258,7 +258,7 @@ main (int argc, char **argv)
if (set_security_context)
defaultcon (argv[optind], S_IFIFO);
if (mkfifo (argv[optind], newmode) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (argv[optind]));
+ error (EXIT_FAILURE, errno, "%s", quotef (argv[optind]));
break;
default:
@@ -268,7 +268,7 @@ main (int argc, char **argv)
if (specified_mode && lchmod (argv[optind], newmode) != 0)
error (EXIT_FAILURE, errno, _("cannot set permissions of %s"),
- quote (argv[optind]));
+ quoteaf (argv[optind]));
return EXIT_SUCCESS;
}
diff --git a/src/mv.c b/src/mv.c
index 0bcc1bb69..e3c2f7b8e 100644
--- a/src/mv.c
+++ b/src/mv.c
@@ -29,7 +29,6 @@
#include "cp-hash.h"
#include "error.h"
#include "filenamecat.h"
-#include "quote.h"
#include "remove.h"
#include "root-dev-ino.h"
#include "priv-set.h"
@@ -96,7 +95,7 @@ rm_option_init (struct rm_options *x)
x->root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (x->root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote ("/"));
+ quoteaf ("/"));
}
}
@@ -153,7 +152,7 @@ target_directory_operand (char const *file)
int err = (stat (file, &st) == 0 ? 0 : errno);
bool is_a_dir = !err && S_ISDIR (st.st_mode);
if (err && err != ENOENT)
- error (EXIT_FAILURE, err, _("failed to access %s"), quote (file));
+ error (EXIT_FAILURE, err, _("failed to access %s"), quoteaf (file));
return is_a_dir;
}
@@ -403,10 +402,10 @@ main (int argc, char **argv)
struct stat st;
if (stat (optarg, &st) != 0)
error (EXIT_FAILURE, errno, _("failed to access %s"),
- quote (optarg));
+ quoteaf (optarg));
if (! S_ISDIR (st.st_mode))
error (EXIT_FAILURE, 0, _("target %s is not a directory"),
- quote (optarg));
+ quoteaf (optarg));
}
target_directory = optarg;
break;
@@ -448,7 +447,7 @@ main (int argc, char **argv)
error (0, 0, _("missing file operand"));
else
error (0, 0, _("missing destination file operand after %s"),
- quote (file[0]));
+ quoteaf (file[0]));
usage (EXIT_FAILURE);
}
@@ -460,7 +459,7 @@ main (int argc, char **argv)
"and --no-target-directory (-T)"));
if (2 < n_files)
{
- error (0, 0, _("extra operand %s"), quote (file[2]));
+ error (0, 0, _("extra operand %s"), quoteaf (file[2]));
usage (EXIT_FAILURE);
}
}
@@ -471,7 +470,7 @@ main (int argc, char **argv)
target_directory = file[--n_files];
else if (2 < n_files)
error (EXIT_FAILURE, 0, _("target %s is not a directory"),
- quote (file[n_files - 1]));
+ quoteaf (file[n_files - 1]));
}
if (make_backups && x.interactive == I_ALWAYS_NO)
diff --git a/src/nl.c b/src/nl.c
index f431d9839..0430a9b7f 100644
--- a/src/nl.c
+++ b/src/nl.c
@@ -426,7 +426,7 @@ nl_file (char const *file)
stream = fopen (file, "r");
if (stream == NULL)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
}
@@ -437,14 +437,14 @@ nl_file (char const *file)
if (ferror (stream))
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
if (STREQ (file, "-"))
clearerr (stream); /* Also clear EOF. */
else if (fclose (stream) == EOF)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
return true;
diff --git a/src/nohup.c b/src/nohup.c
index 8cdacedb8..f81d3feea 100644
--- a/src/nohup.c
+++ b/src/nohup.c
@@ -29,7 +29,6 @@
#include "filenamecat.h"
#include "fd-reopen.h"
#include "long-options.h"
-#include "quote.h"
#include "unistd--.h"
#define PROGRAM_NAME "nohup"
@@ -158,10 +157,10 @@ main (int argc, char **argv)
if (out_fd < 0)
{
int saved_errno2 = errno;
- error (0, saved_errno, _("failed to open %s"), quote (file));
+ error (0, saved_errno, _("failed to open %s"), quoteaf (file));
if (in_home)
error (0, saved_errno2, _("failed to open %s"),
- quote (in_home));
+ quoteaf (in_home));
return exit_internal_failure;
}
file = in_home;
@@ -172,7 +171,7 @@ main (int argc, char **argv)
_(ignoring_input
? N_("ignoring input and appending output to %s")
: N_("appending output to %s")),
- quote (file));
+ quoteaf (file));
free (in_home);
}
@@ -227,7 +226,7 @@ main (int argc, char **argv)
In other words, output the diagnostic if possible, but only if
it will go to the original stderr. */
if (dup2 (saved_stderr_fd, STDERR_FILENO) == STDERR_FILENO)
- error (0, saved_errno, _("failed to run command %s"), quote (*cmd));
+ error (0, saved_errno, _("failed to run command %s"), quoteaf (*cmd));
return exit_status;
}
diff --git a/src/od.c b/src/od.c
index 643fb3878..f8e806be0 100644
--- a/src/od.c
+++ b/src/od.c
@@ -921,7 +921,7 @@ open_next_file (void)
in_stream = fopen (input_filename, (O_BINARY ? "rb" : "r"));
if (in_stream == NULL)
{
- error (0, errno, "%s", quote (input_filename));
+ error (0, errno, "%s", quotef (input_filename));
ok = false;
}
}
@@ -950,14 +950,14 @@ check_and_close (int in_errno)
{
if (ferror (in_stream))
{
- error (0, in_errno, _("%s: read error"), quote (input_filename));
+ error (0, in_errno, _("%s: read error"), quotef (input_filename));
if (! STREQ (file_list[-1], "-"))
fclose (in_stream);
ok = false;
}
else if (! STREQ (file_list[-1], "-") && fclose (in_stream) != 0)
{
- error (0, errno, "%s", quote (input_filename));
+ error (0, errno, "%s", quotef (input_filename));
ok = false;
}
@@ -1092,7 +1092,7 @@ skip (uintmax_t n_skip)
else /* cannot fstat() file */
{
- error (0, errno, "%s", quote (input_filename));
+ error (0, errno, "%s", quotef (input_filename));
ok = false;
}
diff --git a/src/paste.c b/src/paste.c
index fd6f033f6..5781ccd3e 100644
--- a/src/paste.c
+++ b/src/paste.c
@@ -43,8 +43,6 @@
#include "system.h"
#include "error.h"
#include "fadvise.h"
-#include "quote.h"
-#include "quotearg.h"
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "paste"
@@ -210,7 +208,7 @@ paste_parallel (size_t nfiles, char **fnamptr)
{
fileptr[files_open] = fopen (fnamptr[files_open], "r");
if (fileptr[files_open] == NULL)
- error (EXIT_FAILURE, errno, "%s", quote (fnamptr[files_open]));
+ error (EXIT_FAILURE, errno, "%s", quotef (fnamptr[files_open]));
else if (fileno (fileptr[files_open]) == STDIN_FILENO)
opened_stdin = true;
fadvise (fileptr[files_open], FADVISE_SEQUENTIAL);
@@ -268,14 +266,14 @@ paste_parallel (size_t nfiles, char **fnamptr)
{
if (ferror (fileptr[i]))
{
- error (0, err, "%s", quote (fnamptr[i]));
+ error (0, err, "%s", quotef (fnamptr[i]));
ok = false;
}
if (fileptr[i] == stdin)
clearerr (fileptr[i]); /* Also clear EOF. */
else if (fclose (fileptr[i]) == EOF)
{
- error (0, errno, "%s", quote (fnamptr[i]));
+ error (0, errno, "%s", quotef (fnamptr[i]));
ok = false;
}
@@ -366,7 +364,7 @@ paste_serial (size_t nfiles, char **fnamptr)
fileptr = fopen (*fnamptr, "r");
if (fileptr == NULL)
{
- error (0, errno, "%s", quote (*fnamptr));
+ error (0, errno, "%s", quotef (*fnamptr));
ok = false;
continue;
}
@@ -412,14 +410,14 @@ paste_serial (size_t nfiles, char **fnamptr)
if (ferror (fileptr))
{
- error (0, saved_errno, "%s", quote (*fnamptr));
+ error (0, saved_errno, "%s", quotef (*fnamptr));
ok = false;
}
if (is_stdin)
clearerr (fileptr); /* Also clear EOF. */
else if (fclose (fileptr) == EOF)
{
- error (0, errno, "%s", quote (*fnamptr));
+ error (0, errno, "%s", quotef (*fnamptr));
ok = false;
}
}
diff --git a/src/pathchk.c b/src/pathchk.c
index d9f3bceb6..fbd2b5132 100644
--- a/src/pathchk.c
+++ b/src/pathchk.c
@@ -23,7 +23,6 @@
#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 "pathchk"
@@ -168,7 +167,7 @@ no_leading_hyphen (char const *file)
if (p == file || p[-1] == '/')
{
error (0, 0, _("leading '-' in a component of file name %s"),
- quote (file));
+ quoteaf (file));
return false;
}
@@ -196,7 +195,7 @@ portable_chars_only (char const *file, size_t filelen)
_("nonportable character %s in file name %s"),
quotearg_n_style_mem (1, locale_quoting_style, invalid,
(charlen <= MB_LEN_MAX ? charlen : 1)),
- quote_n (0, file));
+ quoteaf_n (0, file));
return false;
}
@@ -290,7 +289,7 @@ validate_file_name (char *file, bool check_basic_portability,
file_exists = true;
else if (errno != ENOENT || filelen == 0)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
}
@@ -323,7 +322,7 @@ validate_file_name (char *file, bool check_basic_portability,
unsigned long int len = filelen;
unsigned long int maxlen = maxsize - 1;
error (0, 0, _("limit %lu exceeded by length %lu of file name %s"),
- maxlen, len, quote (file));
+ maxlen, len, quoteaf (file));
return false;
}
}
@@ -393,7 +392,7 @@ validate_file_name (char *file, bool check_basic_portability,
default:
*start = '\0';
- error (0, errno, "%s", quote (dir));
+ error (0, errno, "%s", quotef (dir));
*start = c;
return false;
}
diff --git a/src/pinky.c b/src/pinky.c
index f969e5b97..14ba72ce0 100644
--- a/src/pinky.c
+++ b/src/pinky.c
@@ -27,7 +27,6 @@
#include "canon-host.h"
#include "error.h"
#include "hard-locale.h"
-#include "quote.h"
#include "readutmp.h"
/* The official name of this program (e.g., no 'g' prefix). */
@@ -469,7 +468,7 @@ short_pinky (const char *filename,
STRUCT_UTMP *utmp_buf = NULL;
if (read_utmp (filename, &n_users, &utmp_buf, 0) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (filename));
+ error (EXIT_FAILURE, errno, "%s", quotef (filename));
scan_entries (n_users, utmp_buf, argc_names, argv_names);
diff --git a/src/pr.c b/src/pr.c
index d16b18613..a01a0db1c 100644
--- a/src/pr.c
+++ b/src/pr.c
@@ -1465,7 +1465,7 @@ open_file (char *name, COLUMN *p)
{
failed_opens = true;
if (!ignore_failed_opens)
- error (0, errno, "%s", quote (name));
+ error (0, errno, "%s", quotef (name));
return false;
}
fadvise (p->fp, FADVISE_SEQUENTIAL);
@@ -1489,9 +1489,9 @@ close_file (COLUMN *p)
if (p->status == CLOSED)
return;
if (ferror (p->fp))
- error (EXIT_FAILURE, errno, "%s", quote (p->name));
+ error (EXIT_FAILURE, errno, "%s", quotef (p->name));
if (fileno (p->fp) != STDIN_FILENO && fclose (p->fp) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (p->name));
+ error (EXIT_FAILURE, errno, "%s", quotef (p->name));
if (!parallel_files)
{
diff --git a/src/ptx.c b/src/ptx.c
index c489301a3..54d1bc22c 100644
--- a/src/ptx.c
+++ b/src/ptx.c
@@ -520,7 +520,7 @@ swallow_file_in_memory (const char *file_name, BLOCK *block)
block->start = read_file (file_name, &used_length);
if (!block->start)
- error (EXIT_FAILURE, errno, "%s", quote (using_stdin ? "-" : file_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (using_stdin ? "-" : file_name));
block->end = block->start + used_length;
}
@@ -2076,7 +2076,7 @@ main (int argc, char **argv)
if (optind < argc)
{
if (! freopen (argv[optind], "w", stdout))
- error (EXIT_FAILURE, errno, "%s", quote (argv[optind]));
+ error (EXIT_FAILURE, errno, "%s", quotef (argv[optind]));
optind++;
}
diff --git a/src/pwd.c b/src/pwd.c
index 9b9ddeb20..32e5d6714 100644
--- a/src/pwd.c
+++ b/src/pwd.c
@@ -274,10 +274,10 @@ robust_getcwd (struct file_name *file_name)
if (root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote ("/"));
+ quoteaf ("/"));
if (stat (".", &dot_sb) < 0)
- error (EXIT_FAILURE, errno, _("failed to stat %s"), quote ("."));
+ error (EXIT_FAILURE, errno, _("failed to stat %s"), quoteaf ("."));
while (1)
{
diff --git a/src/readlink.c b/src/readlink.c
index 2b61fda92..aba466b29 100644
--- a/src/readlink.c
+++ b/src/readlink.c
@@ -25,7 +25,6 @@
#include "canonicalize.h"
#include "error.h"
#include "areadlink.h"
-#include "quote.h"
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "readlink"
@@ -171,7 +170,7 @@ main (int argc, char **argv)
{
status = EXIT_FAILURE;
if (verbose)
- error (0, errno, "%s", quote (fname));
+ error (0, errno, "%s", quotef (fname));
}
}
diff --git a/src/realpath.c b/src/realpath.c
index 9f8754de6..febf956d9 100644
--- a/src/realpath.c
+++ b/src/realpath.c
@@ -24,7 +24,6 @@
#include "system.h"
#include "canonicalize.h"
#include "error.h"
-#include "quote.h"
#include "relpath.h"
/* The official name of this program (e.g., no 'g' prefix). */
@@ -143,7 +142,7 @@ isdir (const char *path)
{
struct stat sb;
if (stat (path, &sb) != 0)
- error (EXIT_FAILURE, errno, _("cannot stat %s"), quote (path));
+ error (EXIT_FAILURE, errno, _("cannot stat %s"), quoteaf (path));
return S_ISDIR (sb.st_mode);
}
@@ -154,7 +153,7 @@ process_path (const char *fname, int can_mode)
if (!can_fname)
{
if (verbose)
- error (0, errno, "%s", quote (fname));
+ error (0, errno, "%s", quotef (fname));
return false;
}
@@ -246,9 +245,9 @@ main (int argc, char **argv)
{
can_relative_to = realpath_canon (relative_to, can_mode);
if (!can_relative_to)
- error (EXIT_FAILURE, errno, "%s", quote (relative_to));
+ error (EXIT_FAILURE, errno, "%s", quotef (relative_to));
if (need_dir && !isdir (can_relative_to))
- error (EXIT_FAILURE, ENOTDIR, "%s", quote (relative_to));
+ error (EXIT_FAILURE, ENOTDIR, "%s", quotef (relative_to));
}
if (relative_base == relative_to)
can_relative_base = can_relative_to;
@@ -256,9 +255,9 @@ main (int argc, char **argv)
{
char *base = realpath_canon (relative_base, can_mode);
if (!base)
- error (EXIT_FAILURE, errno, "%s", quote (relative_base));
+ error (EXIT_FAILURE, errno, "%s", quotef (relative_base));
if (need_dir && !isdir (base))
- error (EXIT_FAILURE, ENOTDIR, "%s", quote (relative_base));
+ error (EXIT_FAILURE, ENOTDIR, "%s", quotef (relative_base));
/* --relative-to is a no-op if it does not have --relative-base
as a prefix */
if (path_prefix (base, can_relative_to))
diff --git a/src/remove.c b/src/remove.c
index db8f993ea..63ee73ed8 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -25,7 +25,6 @@
#include "error.h"
#include "file-type.h"
#include "ignore-value.h"
-#include "quote.h"
#include "remove.h"
#include "root-dev-ino.h"
#include "write-any-file.h"
@@ -256,7 +255,7 @@ prompt (FTS const *fts, FTSENT const *ent, bool is_dir,
break;
}
- char const *quoted_name = quote (full_name);
+ char const *quoted_name = quoteaf (full_name);
if (write_protected < 0)
{
@@ -372,8 +371,8 @@ excise (FTS *fts, FTSENT *ent, struct rm_options const *x, bool is_dir)
if (x->verbose)
{
printf ((is_dir
- ? _("removed directory: %s\n")
- : _("removed %s\n")), quote (ent->fts_path));
+ ? _("removed directory %s\n")
+ : _("removed %s\n")), quoteaf (ent->fts_path));
}
return RM_OK;
}
@@ -403,7 +402,7 @@ excise (FTS *fts, FTSENT *ent, struct rm_options const *x, bool is_dir)
|| errno == EEXIST)
&& (ent->fts_errno == EPERM || ent->fts_errno == EACCES))
errno = ent->fts_errno;
- error (0, errno, _("cannot remove %s"), quote (ent->fts_path));
+ error (0, errno, _("cannot remove %s"), quoteaf (ent->fts_path));
mark_ancestor_dirs (ent);
return RM_ERROR;
}
@@ -429,7 +428,7 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const *x)
Not recursive, and it's not an empty directory (if we're removing
them) so arrange to skip contents. */
int err = x->remove_empty_directories ? ENOTEMPTY : EISDIR;
- error (0, err, _("cannot remove %s"), quote (ent->fts_path));
+ error (0, err, _("cannot remove %s"), quoteaf (ent->fts_path));
mark_ancestor_dirs (ent);
fts_skip_tree (fts, ent);
return RM_ERROR;
@@ -445,8 +444,8 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const *x)
{
error (0, 0,
_("refusing to remove %s or %s directory: skipping %s"),
- quote_n (0, "."), quote_n (1, ".."),
- quote_n (2, ent->fts_path));
+ quoteaf_n (0, "."), quoteaf_n (1, ".."),
+ quoteaf_n (2, ent->fts_path));
fts_skip_tree (fts, ent);
return RM_ERROR;
}
@@ -503,7 +502,7 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const *x)
{
mark_ancestor_dirs (ent);
error (0, 0, _("skipping %s, since it's on a different device"),
- quote (ent->fts_path));
+ quoteaf (ent->fts_path));
return RM_ERROR;
}
@@ -523,7 +522,7 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const *x)
/* Various failures, from opendir to ENOMEM, to failure to "return"
to preceding directory, can provoke this. */
error (0, ent->fts_errno, _("traversal failed: %s"),
- quote (ent->fts_path));
+ quotef (ent->fts_path));
fts_skip_tree (fts, ent);
return RM_ERROR;
@@ -531,7 +530,7 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const *x)
error (0, 0, _("unexpected failure: fts_info=%d: %s\n"
"please report to %s"),
ent->fts_info,
- quote (ent->fts_path),
+ quotef (ent->fts_path),
PACKAGE_BUGREPORT);
abort ();
}
diff --git a/src/rm.c b/src/rm.c
index c1a23d5fe..a82252b5d 100644
--- a/src/rm.c
+++ b/src/rm.c
@@ -27,8 +27,6 @@
#include "system.h"
#include "argmatch.h"
#include "error.h"
-#include "quote.h"
-#include "quotearg.h"
#include "remove.h"
#include "root-dev-ino.h"
#include "yesno.h"
@@ -118,8 +116,8 @@ diagnose_leading_hyphen (int argc, char **argv)
fprintf (stderr,
_("Try '%s ./%s' to remove the file %s.\n"),
argv[0],
- quotearg_n_style (1, shell_quoting_style, arg),
- quote (arg));
+ quotearg_n_style (1, shell_escape_quoting_style, arg),
+ quoteaf (arg));
break;
}
}
@@ -329,7 +327,7 @@ main (int argc, char **argv)
x.root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (x.root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
- quote ("/"));
+ quoteaf ("/"));
}
uintmax_t n_files = argc - optind;
diff --git a/src/rmdir.c b/src/rmdir.c
index 457e855e2..083d0a04e 100644
--- a/src/rmdir.c
+++ b/src/rmdir.c
@@ -30,7 +30,6 @@
#include "system.h"
#include "error.h"
#include "prog-fprintf.h"
-#include "quote.h"
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "rmdir"
@@ -131,7 +130,7 @@ remove_parents (char *dir)
/* Give a diagnostic for each attempted removal if --verbose. */
if (verbose)
- prog_fprintf (stdout, _("removing directory, %s"), quote (dir));
+ prog_fprintf (stdout, _("removing directory, %s"), quoteaf (dir));
ok = (rmdir (dir) == 0);
@@ -146,7 +145,7 @@ remove_parents (char *dir)
{
/* Barring race conditions, DIR is expected to be a directory. */
error (0, errno, _("failed to remove directory %s"),
- quote (dir));
+ quoteaf (dir));
}
break;
}
@@ -230,7 +229,7 @@ main (int argc, char **argv)
/* Give a diagnostic for each attempted removal if --verbose. */
if (verbose)
- prog_fprintf (stdout, _("removing directory, %s"), quote (dir));
+ prog_fprintf (stdout, _("removing directory, %s"), quoteaf (dir));
if (rmdir (dir) != 0)
{
@@ -239,7 +238,7 @@ main (int argc, char **argv)
/* Here, the diagnostic is less precise, since we have no idea
whether DIR is a directory. */
- error (0, errno, _("failed to remove %s"), quote (dir));
+ error (0, errno, _("failed to remove %s"), quoteaf (dir));
ok = false;
}
else if (remove_empty_parents)
diff --git a/src/runcon.c b/src/runcon.c
index d5ec57958..95b434a45 100644
--- a/src/runcon.c
+++ b/src/runcon.c
@@ -213,7 +213,7 @@ main (int argc, char **argv)
if (getfilecon (argv[optind], &file_context) == -1)
error (EXIT_FAILURE, errno,
_("failed to get security context of %s"),
- quote (argv[optind]));
+ quoteaf (argv[optind]));
/* compute result of process transition */
if (security_compute_create (cur_context, file_context,
string_to_security_class ("process"),
diff --git a/src/selinux.c b/src/selinux.c
index 99b1fb0bf..6479c9392 100644
--- a/src/selinux.c
+++ b/src/selinux.c
@@ -26,7 +26,6 @@
#include "canonicalize.h"
#include "dosname.h"
#include "xfts.h"
-#include "quote.h"
#include "selinux.h"
#if HAVE_SELINUX_SELINUX_H
@@ -125,7 +124,7 @@ defaultcon (char const *path, mode_t mode)
newpath = canonicalize_filename_mode (path, CAN_MISSING);
if (! newpath)
error (EXIT_FAILURE, errno, _("error canonicalizing %s"),
- quote (path));
+ quoteaf (path));
path = newpath;
}
@@ -298,7 +297,7 @@ restorecon (char const *path, bool recurse, bool local)
newpath = canonicalize_filename_mode (path, CAN_MISSING);
if (! newpath)
error (EXIT_FAILURE, errno, _("error canonicalizing %s"),
- quote (path));
+ quoteaf (path));
}
const char *ftspath[2] = { newpath ? newpath : path, NULL };
diff --git a/src/shred.c b/src/shred.c
index 9c6752881..08e212a23 100644
--- a/src/shred.c
+++ b/src/shred.c
@@ -90,7 +90,6 @@
#include "error.h"
#include "fcntl--.h"
#include "human.h"
-#include "quote.h"
#include "randint.h"
#include "randread.h"
#include "stat-size.h"
@@ -1082,7 +1081,7 @@ wipename (char *oldname, char const *qoldname, struct Options const *flags)
char *base = last_component (newname);
size_t len = base_len (base);
char *dir = dir_name (newname);
- char *qdir = xstrdup (quote (dir));
+ char *qdir = xstrdup (quotef (dir));
bool first = true;
bool ok = true;
int dir_fd = -1;
@@ -1302,12 +1301,12 @@ main (int argc, char **argv)
randint_source = randint_all_new (random_source, SIZE_MAX);
if (! randint_source)
- error (EXIT_FAILURE, errno, "%s", quote (random_source));
+ error (EXIT_FAILURE, errno, "%s", quotef (random_source));
atexit (clear_random_data);
for (i = 0; i < n_files; i++)
{
- char *qname = xstrdup (quote (file[i]));
+ char *qname = xstrdup (quotef (file[i]));
if (STREQ (file[i], "-"))
{
ok &= wipefd (STDOUT_FILENO, qname, randint_source, &flags);
diff --git a/src/shuf.c b/src/shuf.c
index d7b5a3521..507a4c64a 100644
--- a/src/shuf.c
+++ b/src/shuf.c
@@ -519,7 +519,7 @@ main (int argc, char **argv)
if (n_operands == 1)
if (! (STREQ (operand[0], "-") || ! head_lines
|| freopen (operand[0], "r", stdin)))
- error (EXIT_FAILURE, errno, "%s", quote (operand[0]));
+ error (EXIT_FAILURE, errno, "%s", quotef (operand[0]));
fadvise (stdin, FADVISE_SEQUENTIAL);
@@ -544,7 +544,7 @@ main (int argc, char **argv)
? SIZE_MAX
: randperm_bound (head_lines, n_lines)));
if (! randint_source)
- error (EXIT_FAILURE, errno, "%s", quote (random_source));
+ error (EXIT_FAILURE, errno, "%s", quotef (random_source));
if (use_reservoir_sampling)
{
@@ -566,7 +566,7 @@ main (int argc, char **argv)
permutation = randperm_new (randint_source, head_lines, n_lines);
if (outfile && ! freopen (outfile, "w", stdout))
- error (EXIT_FAILURE, errno, "%s", quote (outfile));
+ error (EXIT_FAILURE, errno, "%s", quotef (outfile));
/* Generate output according to requested method */
if (repeat)
diff --git a/src/sort.c b/src/sort.c
index 3e741027c..38d817544 100644
--- a/src/sort.c
+++ b/src/sort.c
@@ -44,7 +44,6 @@
#include "physmem.h"
#include "posixver.h"
#include "quote.h"
-#include "quotearg.h"
#include "randread.h"
#include "readtokens0.h"
#include "stdio--.h"
@@ -409,7 +408,7 @@ static void
die (char const *message, char const *file)
{
error (0, errno, "%s: %s", message,
- quote (file ? file : _("standard output")));
+ quotef (file ? file : _("standard output")));
exit (SORT_FAILURE);
}
@@ -723,12 +722,12 @@ reap (pid_t pid)
if (cpid < 0)
error (SORT_FAILURE, errno, _("waiting for %s [-d]"),
- quote (compress_program));
+ quoteaf (compress_program));
else if (0 < cpid && (0 < pid || delete_proc (cpid)))
{
if (! WIFEXITED (status) || WEXITSTATUS (status))
error (SORT_FAILURE, 0, _("%s [-d] terminated abnormally"),
- quote (compress_program));
+ quoteaf (compress_program));
--nprocs;
}
@@ -882,7 +881,7 @@ create_temp_file (int *pfd, bool survive_fd_exhaustion)
{
if (! (survive_fd_exhaustion && errno == EMFILE))
error (SORT_FAILURE, errno, _("cannot create temporary file in %s"),
- quote (temp_dir));
+ quoteaf (temp_dir));
free (node);
node = NULL;
}
@@ -958,7 +957,7 @@ stream_open (char const *file, char const *how)
{
if (file && ftruncate (STDOUT_FILENO, 0) != 0)
error (SORT_FAILURE, errno, _("%s: error truncating"),
- quote (file));
+ quotef (file));
fp = stdout;
}
else
@@ -1177,7 +1176,7 @@ open_temp (struct tempnode *temp)
case -1:
if (errno != EMFILE)
error (SORT_FAILURE, errno, _("couldn't create process for %s -d"),
- quote (compress_program));
+ quoteaf (compress_program));
close (tempfd);
errno = EMFILE;
break;
@@ -1249,7 +1248,7 @@ zaptemp (char const *name)
cs_leave (cs);
if (unlink_status != 0)
- error (0, unlink_errno, _("warning: cannot remove: %s"), quote (name));
+ error (0, unlink_errno, _("warning: cannot remove: %s"), quotef (name));
if (! next)
temptail = pnode;
free (node);
@@ -4570,7 +4569,7 @@ main (int argc, char **argv)
on the command-line. */
if (nfiles)
{
- error (0, 0, _("extra operand %s"), quote (files[0]));
+ error (0, 0, _("extra operand %s"), quoteaf (files[0]));
fprintf (stderr, "%s\n",
_("file operands cannot be combined with --files0-from"));
usage (SORT_FAILURE);
@@ -4583,14 +4582,14 @@ main (int argc, char **argv)
stream = fopen (files_from, "r");
if (stream == NULL)
error (SORT_FAILURE, errno, _("cannot open %s for reading"),
- quote (files_from));
+ quoteaf (files_from));
}
readtokens0_init (&tok);
if (! readtokens0 (stream, &tok) || fclose (stream) != 0)
error (SORT_FAILURE, 0, _("cannot read file names from %s"),
- quote (files_from));
+ quoteaf (files_from));
if (tok.n_tok)
{
@@ -4603,7 +4602,7 @@ main (int argc, char **argv)
if (STREQ (files[i], "-"))
error (SORT_FAILURE, 0, _("when reading file names from stdin, "
"no file name of %s allowed"),
- quote (files[i]));
+ quoteaf (files[i]));
else if (files[i][0] == '\0')
{
/* Using the standard 'filename:line-number:' prefix here is
@@ -4612,13 +4611,13 @@ main (int argc, char **argv)
unsigned long int file_number = i + 1;
error (SORT_FAILURE, 0,
_("%s:%lu: invalid zero-length file name"),
- quote (files_from), file_number);
+ quotef (files_from), file_number);
}
}
}
else
error (SORT_FAILURE, 0, _("no input from %s"),
- quote (files_from));
+ quoteaf (files_from));
}
/* Inheritance of global options to individual keys. */
@@ -4701,7 +4700,7 @@ main (int argc, char **argv)
{
if (nfiles > 1)
error (SORT_FAILURE, 0, _("extra operand %s not allowed with -%c"),
- quote (files[1]), checkonly);
+ quoteaf (files[1]), checkonly);
if (outfile)
{
diff --git a/src/split.c b/src/split.c
index f16cb518e..5d6037672 100644
--- a/src/split.c
+++ b/src/split.c
@@ -291,11 +291,11 @@ input_file_size (int fd, off_t size, char *buf, size_t bufsize)
if (n_read == 0)
break;
if (n_read == SAFE_READ_ERROR)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
size += n_read;
}
if (bufsize <= size && lseek (fd, - size, SEEK_CUR) < 0)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
}
return size;
@@ -384,7 +384,7 @@ new_name:
char *dir = dir_name (outfile);
long name_max = pathconf (dir, _PC_NAME_MAX);
if (0 <= name_max && name_max < base_len (last_component (outfile)))
- error (EXIT_FAILURE, ENAMETOOLONG, "%s", quote (outfile));
+ error (EXIT_FAILURE, ENAMETOOLONG, "%s", quotef (outfile));
free (dir);
}
#endif
@@ -417,19 +417,19 @@ create (const char *name)
if (!filter_command)
{
if (verbose)
- fprintf (stdout, _("creating file %s\n"), quote (name));
+ fprintf (stdout, _("creating file %s\n"), quoteaf (name));
int fd = open (name, O_WRONLY | O_CREAT | O_BINARY, MODE_RW_UGO);
if (fd < 0)
return fd;
struct stat out_stat_buf;
if (fstat (fd, &out_stat_buf) != 0)
- error (EXIT_FAILURE, errno, _("failed to stat %s"), quote (name));
+ error (EXIT_FAILURE, errno, _("failed to stat %s"), quoteaf (name));
if (SAME_INODE (in_stat_buf, out_stat_buf))
error (EXIT_FAILURE, 0, _("%s would overwrite input; aborting"),
- quote (name));
+ quoteaf (name));
if (ftruncate (fd, 0) != 0)
- error (EXIT_FAILURE, errno, _("%s: error truncating"), quote (name));
+ error (EXIT_FAILURE, errno, _("%s: error truncating"), quotef (name));
return fd;
}
@@ -444,7 +444,7 @@ create (const char *name)
error (EXIT_FAILURE, errno,
_("failed to set FILE environment variable"));
if (verbose)
- fprintf (stdout, _("executing with FILE=%s\n"), quote (name));
+ fprintf (stdout, _("executing with FILE=%s\n"), quotef (name));
if (pipe (fd_pair) != 0)
error (EXIT_FAILURE, errno, _("failed to create pipe"));
child_pid = fork ();
@@ -496,11 +496,11 @@ static void
closeout (FILE *fp, int fd, pid_t pid, char const *name)
{
if (fp != NULL && fclose (fp) != 0 && ! ignorable (errno))
- error (EXIT_FAILURE, errno, "%s", quote (name));
+ error (EXIT_FAILURE, errno, "%s", quotef (name));
if (fd >= 0)
{
if (fp == NULL && close (fd) < 0)
- error (EXIT_FAILURE, errno, "%s", quote (name));
+ error (EXIT_FAILURE, errno, "%s", quotef (name));
int j;
for (j = 0; j < n_open_pipes; ++j)
{
@@ -526,7 +526,7 @@ closeout (FILE *fp, int fd, pid_t pid, char const *name)
sprintf (signame, "%d", sig);
error (sig + 128, 0,
_("with FILE=%s, signal %s from command: %s"),
- quote (name), signame, filter_command);
+ quotef (name), signame, filter_command);
}
}
else if (WIFEXITED (wstatus))
@@ -534,7 +534,7 @@ closeout (FILE *fp, int fd, pid_t pid, char const *name)
int ex = WEXITSTATUS (wstatus);
if (ex != 0)
error (ex, 0, _("with FILE=%s, exit %d from command: %s"),
- quote (name), ex, filter_command);
+ quotef (name), ex, filter_command);
}
else
{
@@ -559,10 +559,10 @@ cwrite (bool new_file_flag, const char *bp, size_t bytes)
closeout (NULL, output_desc, filter_pid, outfile);
next_file_name ();
if ((output_desc = create (outfile)) < 0)
- error (EXIT_FAILURE, errno, "%s", quote (outfile));
+ error (EXIT_FAILURE, errno, "%s", quotef (outfile));
}
if (full_write (output_desc, bp, bytes) != bytes && ! ignorable (errno))
- error (EXIT_FAILURE, errno, "%s", quote (outfile));
+ error (EXIT_FAILURE, errno, "%s", quotef (outfile));
}
/* Split into pieces of exactly N_BYTES bytes.
@@ -592,7 +592,7 @@ bytes_split (uintmax_t n_bytes, char *buf, size_t bufsize, size_t initial_read,
{
n_read = safe_read (STDIN_FILENO, buf, bufsize);
if (n_read == SAFE_READ_ERROR)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
}
bp_out = buf;
to_read = n_read;
@@ -651,7 +651,7 @@ lines_split (uintmax_t n_lines, char *buf, size_t bufsize)
{
n_read = safe_read (STDIN_FILENO, buf, bufsize);
if (n_read == SAFE_READ_ERROR)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
bp = bp_out = buf;
eob = bp + n_read;
*eob = eolchar;
@@ -700,7 +700,7 @@ line_bytes_split (uintmax_t n_bytes, char *buf, size_t bufsize)
{
n_read = safe_read (STDIN_FILENO, buf, bufsize);
if (n_read == SAFE_READ_ERROR)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
size_t n_left = n_read;
char *sob = buf;
while (n_left)
@@ -823,7 +823,7 @@ lines_chunk_split (uintmax_t k, uintmax_t n, char *buf, size_t bufsize,
initial_read -= start;
}
else if (lseek (STDIN_FILENO, start, SEEK_CUR) < 0)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
n_written = start;
chunk_no = k - 1;
chunk_end = chunk_no * chunk_size - 1;
@@ -842,7 +842,7 @@ lines_chunk_split (uintmax_t k, uintmax_t n, char *buf, size_t bufsize,
{
n_read = safe_read (STDIN_FILENO, buf, bufsize);
if (n_read == SAFE_READ_ERROR)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
}
if (n_read == 0)
break; /* eof. */
@@ -937,7 +937,7 @@ bytes_chunk_extract (uintmax_t k, uintmax_t n, char *buf, size_t bufsize,
initial_read -= start;
}
else if (lseek (STDIN_FILENO, start, SEEK_CUR) < 0)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
while (start < end)
{
@@ -951,14 +951,14 @@ bytes_chunk_extract (uintmax_t k, uintmax_t n, char *buf, size_t bufsize,
{
n_read = safe_read (STDIN_FILENO, buf, bufsize);
if (n_read == SAFE_READ_ERROR)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
}
if (n_read == 0)
break; /* eof. */
n_read = MIN (n_read, end - start);
if (full_write (STDOUT_FILENO, buf, n_read) != n_read
&& ! ignorable (errno))
- error (EXIT_FAILURE, errno, "%s", quote ("-"));
+ error (EXIT_FAILURE, errno, "%s", quotef ("-"));
start += n_read;
}
}
@@ -1023,7 +1023,7 @@ ofile_open (of_t *files, size_t i_check, size_t nfiles)
break;
if (!(errno == EMFILE || errno == ENFILE))
- error (EXIT_FAILURE, errno, "%s", quote (files[i_check].of_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (files[i_check].of_name));
file_limit = true;
@@ -1034,18 +1034,18 @@ ofile_open (of_t *files, size_t i_check, size_t nfiles)
/* No more open files to close, exit with E[NM]FILE. */
if (i_reopen == i_check)
error (EXIT_FAILURE, errno, "%s",
- quote (files[i_check].of_name));
+ quotef (files[i_check].of_name));
}
if (fclose (files[i_reopen].ofile) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (files[i_reopen].of_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (files[i_reopen].of_name));
files[i_reopen].ofile = NULL;
files[i_reopen].ofd = OFD_APPEND;
}
files[i_check].ofd = fd;
if (!(files[i_check].ofile = fdopen (fd, "a")))
- error (EXIT_FAILURE, errno, "%s", quote (files[i_check].of_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (files[i_check].of_name));
files[i_check].opid = filter_pid;
filter_pid = 0;
}
@@ -1094,7 +1094,7 @@ lines_rr (uintmax_t k, uintmax_t n, char *buf, size_t bufsize)
char *bp = buf, *eob;
size_t n_read = safe_read (STDIN_FILENO, buf, bufsize);
if (n_read == SAFE_READ_ERROR)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
else if (n_read == 0)
break; /* eof. */
eob = buf + n_read;
@@ -1142,14 +1142,14 @@ lines_rr (uintmax_t k, uintmax_t n, char *buf, size_t bufsize)
&& ! ignorable (errno))
{
error (EXIT_FAILURE, errno, "%s",
- quote (files[i_file].of_name));
+ quotef (files[i_file].of_name));
}
}
else if (fwrite (bp, to_write, 1, files[i_file].ofile) != 1
&& ! ignorable (errno))
{
error (EXIT_FAILURE, errno, "%s",
- quote (files[i_file].of_name));
+ quotef (files[i_file].of_name));
}
if (! ignorable (errno))
wrote = true;
@@ -1159,7 +1159,7 @@ lines_rr (uintmax_t k, uintmax_t n, char *buf, size_t bufsize)
if (fclose (files[i_file].ofile) != 0)
{
error (EXIT_FAILURE, errno, "%s",
- quote (files[i_file].of_name));
+ quotef (files[i_file].of_name));
}
files[i_file].ofile = NULL;
files[i_file].ofd = OFD_APPEND;
@@ -1494,7 +1494,7 @@ main (int argc, char **argv)
if (! STREQ (infile, "-")
&& fd_reopen (STDIN_FILENO, infile, O_RDONLY, 0) < 0)
error (EXIT_FAILURE, errno, _("cannot open %s for reading"),
- quote (infile));
+ quoteaf (infile));
/* Binary I/O is safer when byte counts are used. */
if (O_BINARY && ! isatty (STDIN_FILENO))
@@ -1503,7 +1503,7 @@ main (int argc, char **argv)
/* Get the optimal block size of input device and make a buffer. */
if (fstat (STDIN_FILENO, &in_stat_buf) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
bool specified_buf_size = !! in_blk_size;
if (! specified_buf_size)
@@ -1537,7 +1537,7 @@ main (int argc, char **argv)
}
if (input_offset < 0)
error (EXIT_FAILURE, 0, _("%s: cannot determine file size"),
- quote (infile));
+ quotef (infile));
/* Overflow, and sanity checking. */
if (OFF_T_MAX < n_units)
{
@@ -1605,7 +1605,7 @@ main (int argc, char **argv)
IF_LINT (free (b));
if (close (STDIN_FILENO) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
closeout (NULL, output_desc, filter_pid, outfile);
return EXIT_SUCCESS;
diff --git a/src/stat.c b/src/stat.c
index a8a8c9d64..0721457d9 100644
--- a/src/stat.c
+++ b/src/stat.c
@@ -733,7 +733,7 @@ out_file_context (char *pformat, size_t prefix_len, char const *filename)
: lgetfilecon (filename, &scontext)) < 0)
{
error (0, errno, _("failed to get security context of %s"),
- quote (filename));
+ quoteaf (filename));
scontext = NULL;
fail = true;
}
@@ -889,7 +889,7 @@ out_mount_point (char const *filename, char *pformat, size_t prefix_len,
char *resolved = canonicalize_file_name (filename);
if (!resolved)
{
- error (0, errno, _("failed to canonicalize %s"), quote (filename));
+ error (0, errno, _("failed to canonicalize %s"), quoteaf (filename));
goto print_mount_point;
}
bp = find_bind_mount (resolved);
@@ -979,18 +979,18 @@ print_stat (char *pformat, size_t prefix_len, unsigned int m,
out_string (pformat, prefix_len, filename);
break;
case 'N':
- out_string (pformat, prefix_len, quote (filename));
+ out_string (pformat, prefix_len, quoteaf (filename));
if (S_ISLNK (statbuf->st_mode))
{
char *linkname = areadlink_with_size (filename, statbuf->st_size);
if (linkname == NULL)
{
error (0, errno, _("cannot read symbolic link %s"),
- quote (filename));
+ quoteaf (filename));
return true;
}
printf (" -> ");
- out_string (pformat, prefix_len, quote (linkname));
+ out_string (pformat, prefix_len, quoteaf (linkname));
free (linkname);
}
break;
@@ -1265,14 +1265,14 @@ do_statfs (char const *filename, char const *format)
if (STREQ (filename, "-"))
{
error (0, 0, _("using %s to denote standard input does not work"
- " in file system mode"), quote (filename));
+ " in file system mode"), quoteaf (filename));
return false;
}
if (STATFS (filename, &statfsbuf) != 0)
{
error (0, errno, _("cannot read file system information for %s"),
- quote (filename));
+ quoteaf (filename));
return false;
}
@@ -1303,7 +1303,7 @@ do_stat (char const *filename, char const *format,
? stat (filename, &statbuf)
: lstat (filename, &statbuf)) != 0)
{
- error (0, errno, _("cannot stat %s"), quote (filename));
+ error (0, errno, _("cannot stat %s"), quoteaf (filename));
return false;
}
diff --git a/src/stty.c b/src/stty.c
index 2ed3939d5..c509b643e 100644
--- a/src/stty.c
+++ b/src/stty.c
@@ -1169,17 +1169,17 @@ main (int argc, char **argv)
int fdflags;
device_name = file_name;
if (fd_reopen (STDIN_FILENO, device_name, O_RDONLY | O_NONBLOCK, 0) < 0)
- error (EXIT_FAILURE, errno, "%s", quote (device_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (device_name));
if ((fdflags = fcntl (STDIN_FILENO, F_GETFL)) == -1
|| fcntl (STDIN_FILENO, F_SETFL, fdflags & ~O_NONBLOCK) < 0)
error (EXIT_FAILURE, errno, _("%s: couldn't reset non-blocking mode"),
- quote (device_name));
+ quotef (device_name));
}
else
device_name = _("standard input");
if (tcgetattr (STDIN_FILENO, &mode))
- error (EXIT_FAILURE, errno, "%s", quote (device_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (device_name));
if (verbose_output || recoverable_output || noargs)
{
@@ -1281,7 +1281,7 @@ main (int argc, char **argv)
if (ioctl (STDIN_FILENO, TIOCEXT, &val) != 0)
{
error (EXIT_FAILURE, errno, _("%s: error setting %s"),
- quote_n (0, device_name), quote_n (1, arg));
+ quotef_n (0, device_name), quote_n (1, arg));
}
}
#endif
@@ -1362,7 +1362,7 @@ main (int argc, char **argv)
static struct termios new_mode;
if (tcsetattr (STDIN_FILENO, TCSADRAIN, &mode))
- error (EXIT_FAILURE, errno, "%s", quote (device_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (device_name));
/* POSIX (according to Zlotnick's book) tcsetattr returns zero if
it performs *any* of the requested operations. This means it
@@ -1372,7 +1372,7 @@ main (int argc, char **argv)
compare them to the requested ones. */
if (tcgetattr (STDIN_FILENO, &new_mode))
- error (EXIT_FAILURE, errno, "%s", quote (device_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (device_name));
/* Normally, one shouldn't use memcmp to compare structures that
may have 'holes' containing uninitialized data, but we have been
@@ -1399,7 +1399,7 @@ main (int argc, char **argv)
{
error (EXIT_FAILURE, 0,
_("%s: unable to perform all requested operations"),
- quote (device_name));
+ quotef (device_name));
#ifdef TESTING
{
size_t i;
@@ -1679,7 +1679,7 @@ set_window_size (int rows, int cols, char const *device_name)
if (get_win_size (STDIN_FILENO, &win))
{
if (errno != EINVAL)
- error (EXIT_FAILURE, errno, "%s", quote (device_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (device_name));
memset (&win, 0, sizeof (win));
}
@@ -1721,16 +1721,16 @@ set_window_size (int rows, int cols, char const *device_name)
win.ws_col = 1;
if (ioctl (STDIN_FILENO, TIOCSWINSZ, (char *) &win))
- error (EXIT_FAILURE, errno, "%s", quote (device_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (device_name));
if (ioctl (STDIN_FILENO, TIOCSSIZE, (char *) &ttysz))
- error (EXIT_FAILURE, errno, "%s", quote (device_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (device_name));
return;
}
# endif
if (ioctl (STDIN_FILENO, TIOCSWINSZ, (char *) &win))
- error (EXIT_FAILURE, errno, "%s", quote (device_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (device_name));
}
static void
@@ -1741,11 +1741,11 @@ display_window_size (bool fancy, char const *device_name)
if (get_win_size (STDIN_FILENO, &win))
{
if (errno != EINVAL)
- error (EXIT_FAILURE, errno, "%s", quote (device_name));
+ error (EXIT_FAILURE, errno, "%s", quotef (device_name));
if (!fancy)
error (EXIT_FAILURE, 0,
_("%s: no size information for this device"),
- quote (device_name));
+ quotef (device_name));
}
else
{
diff --git a/src/sum.c b/src/sum.c
index 0c74779cc..407cb5d5b 100644
--- a/src/sum.c
+++ b/src/sum.c
@@ -27,7 +27,6 @@
#include "error.h"
#include "fadvise.h"
#include "human.h"
-#include "quote.h"
#include "safe-read.h"
#include "xfreopen.h"
@@ -106,7 +105,7 @@ bsd_sum_file (const char *file, int print_name)
fp = fopen (file, (O_BINARY ? "rb" : "r"));
if (fp == NULL)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
}
@@ -123,7 +122,7 @@ bsd_sum_file (const char *file, int print_name)
if (ferror (fp))
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
if (!is_stdin)
fclose (fp);
return false;
@@ -131,7 +130,7 @@ bsd_sum_file (const char *file, int print_name)
if (!is_stdin && fclose (fp) != 0)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
@@ -176,7 +175,7 @@ sysv_sum_file (const char *file, int print_name)
fd = open (file, O_RDONLY | O_BINARY);
if (fd == -1)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
}
@@ -191,7 +190,7 @@ sysv_sum_file (const char *file, int print_name)
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
if (!is_stdin)
close (fd);
return false;
@@ -204,7 +203,7 @@ sysv_sum_file (const char *file, int print_name)
if (!is_stdin && close (fd) != 0)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
@@ -271,6 +270,6 @@ main (int argc, char **argv)
ok &= sum_func (argv[optind], files_given);
if (have_read_stdin && fclose (stdin) == EOF)
- error (EXIT_FAILURE, errno, "%s", quote ("-"));
+ error (EXIT_FAILURE, errno, "%s", quotef ("-"));
return ok ? EXIT_SUCCESS : EXIT_FAILURE;
}
diff --git a/src/sync.c b/src/sync.c
index 5e1dbb8c6..bae64831b 100644
--- a/src/sync.c
+++ b/src/sync.c
@@ -24,7 +24,6 @@
#include "system.h"
#include "error.h"
-#include "quote.h"
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "sync"
@@ -111,7 +110,7 @@ sync_arg (enum sync_mode mode, char const *file)
if (open_flags != (O_WRONLY | O_NONBLOCK))
fd = open (file, O_WRONLY | O_NONBLOCK);
if (fd < 0)
- error (0, rd_errno, _("error opening %s"), quote (file));
+ error (0, rd_errno, _("error opening %s"), quoteaf (file));
return false;
}
@@ -121,7 +120,8 @@ sync_arg (enum sync_mode mode, char const *file)
if (fdflags == -1
|| fcntl (fd, F_SETFL, fdflags & ~O_NONBLOCK) < 0)
{
- error (0, errno, _("couldn't reset non-blocking mode %s"), quote (file));
+ error (0, errno, _("couldn't reset non-blocking mode %s"),
+ quoteaf (file));
ret = false;
}
@@ -151,14 +151,14 @@ sync_arg (enum sync_mode mode, char const *file)
if (sync_status < 0)
{
- error (0, errno, _("error syncing %s"), quote (file));
+ error (0, errno, _("error syncing %s"), quoteaf (file));
ret = false;
}
}
if (close (fd) < 0)
{
- error (0, errno, _("failed to close %s"), quote (file));
+ error (0, errno, _("failed to close %s"), quoteaf (file));
ret = false;
}
diff --git a/src/system.h b/src/system.h
index 1cd6bdb44..ded187f83 100644
--- a/src/system.h
+++ b/src/system.h
@@ -693,7 +693,7 @@ WARNING: Circular directory structure.\n\
This almost certainly means that you have a corrupted file system.\n\
NOTIFY YOUR SYSTEM MANAGER.\n\
The following directory is part of the cycle:\n %s\n"), \
- quote (file_name)); \
+ quotef (file_name)); \
} \
while (0)
@@ -731,3 +731,22 @@ is_ENOTSUP (int err)
{
return err == EOPNOTSUPP || (ENOTSUP != EOPNOTSUPP && err == ENOTSUP);
}
+
+
+/* How coreutils quotes filenames, to minimize use of outer quotes,
+ but also provide better support for copy and paste when used. */
+#include "quotearg.h"
+
+/* Use these to shell quote only when necessary,
+ when the quoted item is already delimited with colons. */
+#define quotef(arg) \
+ quotearg_n_style_colon (0, shell_escape_quoting_style, arg)
+#define quotef_n(n, arg) \
+ quotearg_n_style_colon (n, shell_escape_quoting_style, arg)
+
+/* Use these when there are spaces around the file name,
+ in the error message. */
+#define quoteaf(arg) \
+ quotearg_style (shell_escape_always_quoting_style, arg)
+#define quoteaf_n(n, arg) \
+ quotearg_n_style (n, shell_escape_always_quoting_style, arg)
diff --git a/src/tac.c b/src/tac.c
index a260b7bad..e85ac1253 100644
--- a/src/tac.c
+++ b/src/tac.c
@@ -45,7 +45,6 @@ tac -r -s '.\|
#include "error.h"
#include "filenamecat.h"
-#include "quote.h"
#include "safe-read.h"
#include "stdlib--.h"
#include "xfreopen.h"
@@ -220,7 +219,7 @@ tac_seekable (int input_fd, const char *file, off_t file_pos)
{
file_pos -= remainder;
if (lseek (input_fd, file_pos, SEEK_SET) < 0)
- error (0, errno, _("%s: seek failed"), quote (file));
+ error (0, errno, _("%s: seek failed"), quotef (file));
}
/* Scan backward, looking for end of file. This caters to proc-like
@@ -230,7 +229,7 @@ tac_seekable (int input_fd, const char *file, off_t file_pos)
{
off_t rsize = read_size;
if (lseek (input_fd, -rsize, SEEK_CUR) < 0)
- error (0, errno, _("%s: seek failed"), quote (file));
+ error (0, errno, _("%s: seek failed"), quotef (file));
file_pos -= read_size;
}
@@ -248,7 +247,7 @@ tac_seekable (int input_fd, const char *file, off_t file_pos)
if (saved_record_size == SAFE_READ_ERROR)
{
- error (0, errno, _("%s: read error"), quote (file));
+ error (0, errno, _("%s: read error"), quotef (file));
return false;
}
@@ -340,7 +339,7 @@ tac_seekable (int input_fd, const char *file, off_t file_pos)
file_pos = 0;
}
if (lseek (input_fd, file_pos, SEEK_SET) < 0)
- error (0, errno, _("%s: seek failed"), quote (file));
+ error (0, errno, _("%s: seek failed"), quotef (file));
/* Shift the pending record data right to make room for the new.
The source and destination regions probably overlap. */
@@ -354,7 +353,7 @@ tac_seekable (int input_fd, const char *file, off_t file_pos)
if (safe_read (input_fd, G_buffer, read_size) != read_size)
{
- error (0, errno, _("%s: read error"), quote (file));
+ error (0, errno, _("%s: read error"), quotef (file));
return false;
}
}
@@ -456,7 +455,7 @@ temp_stream (FILE **fp, char **file_name)
if (fd < 0)
{
error (0, errno, _("failed to create temporary file in %s"),
- quote (tempdir));
+ quoteaf (tempdir));
goto Reset;
}
@@ -464,7 +463,7 @@ temp_stream (FILE **fp, char **file_name)
if (! tmp_fp)
{
error (0, errno, _("failed to open %s for writing"),
- quote (tempfile));
+ quoteaf (tempfile));
close (fd);
unlink (tempfile);
Reset:
@@ -481,7 +480,7 @@ temp_stream (FILE **fp, char **file_name)
|| ftruncate (fileno (tmp_fp), 0) < 0)
{
error (0, errno, _("failed to rewind stream for %s"),
- quote (tempfile));
+ quoteaf (tempfile));
return false;
}
}
@@ -511,13 +510,13 @@ copy_to_temp (FILE **g_tmp, char **g_tempfile, int input_fd, char const *file)
break;
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, _("%s: read error"), quote (file));
+ error (0, errno, _("%s: read error"), quotef (file));
goto Fail;
}
if (fwrite (G_buffer, 1, bytes_read, fp) != bytes_read)
{
- error (0, errno, _("%s: write error"), quote (file_name));
+ error (0, errno, _("%s: write error"), quotef (file_name));
goto Fail;
}
@@ -529,7 +528,7 @@ copy_to_temp (FILE **g_tmp, char **g_tempfile, int input_fd, char const *file)
if (fflush (fp) != 0)
{
- error (0, errno, _("%s: write error"), quote (file_name));
+ error (0, errno, _("%s: write error"), quotef (file_name));
goto Fail;
}
@@ -584,7 +583,7 @@ tac_file (const char *filename)
if (fd < 0)
{
error (0, errno, _("failed to open %s for reading"),
- quote (filename));
+ quoteaf (filename));
return false;
}
}
@@ -597,7 +596,7 @@ tac_file (const char *filename)
if (!is_stdin && close (fd) != 0)
{
- error (0, errno, _("%s: read error"), quote (filename));
+ error (0, errno, _("%s: read error"), quotef (filename));
ok = false;
}
return ok;
diff --git a/src/tail.c b/src/tail.c
index 6c5dd3a9d..223c8f839 100644
--- a/src/tail.c
+++ b/src/tail.c
@@ -360,7 +360,7 @@ close_fd (int fd, const char *filename)
{
if (fd != -1 && fd != STDIN_FILENO && close (fd))
{
- error (0, errno, _("closing %s (fd=%d)"), quote (filename), fd);
+ error (0, errno, _("closing %s (fd=%d)"), quoteaf (filename), fd);
}
}
@@ -383,7 +383,7 @@ xwrite_stdout (char const *buffer, size_t n_bytes)
{
clearerr (stdout); /* To avoid redundant close_stdout diagnostic. */
error (EXIT_FAILURE, errno, _("error writing %s"),
- quote ("standard output"));
+ quoteaf ("standard output"));
}
}
@@ -408,7 +408,7 @@ dump_remainder (const char *pretty_filename, int fd, uintmax_t n_bytes)
{
if (errno != EAGAIN)
error (EXIT_FAILURE, errno, _("error reading %s"),
- quote (pretty_filename));
+ quoteaf (pretty_filename));
break;
}
if (bytes_read == 0)
@@ -446,15 +446,15 @@ xlseek (int fd, off_t offset, int whence, char const *filename)
{
case SEEK_SET:
error (0, errno, _("%s: cannot seek to offset %s"),
- quote (filename), s);
+ quotef (filename), s);
break;
case SEEK_CUR:
error (0, errno, _("%s: cannot seek to relative offset %s"),
- quote (filename), s);
+ quotef (filename), s);
break;
case SEEK_END:
error (0, errno, _("%s: cannot seek to end-relative offset %s"),
- quote (filename), s);
+ quotef (filename), s);
break;
default:
abort ();
@@ -495,7 +495,7 @@ file_lines (const char *pretty_filename, int fd, uintmax_t n_lines,
bytes_read = safe_read (fd, buffer, bytes_read);
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (pretty_filename));
+ error (0, errno, _("error reading %s"), quoteaf (pretty_filename));
return false;
}
*read_pos = pos + bytes_read;
@@ -544,7 +544,7 @@ file_lines (const char *pretty_filename, int fd, uintmax_t n_lines,
bytes_read = safe_read (fd, buffer, BUFSIZ);
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (pretty_filename));
+ error (0, errno, _("error reading %s"), quoteaf (pretty_filename));
return false;
}
@@ -637,7 +637,7 @@ pipe_lines (const char *pretty_filename, int fd, uintmax_t n_lines,
if (n_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (pretty_filename));
+ error (0, errno, _("error reading %s"), quoteaf (pretty_filename));
ok = false;
goto free_lbuffers;
}
@@ -765,7 +765,7 @@ pipe_bytes (const char *pretty_filename, int fd, uintmax_t n_bytes,
if (n_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (pretty_filename));
+ error (0, errno, _("error reading %s"), quoteaf (pretty_filename));
ok = false;
goto free_cbuffers;
}
@@ -813,7 +813,7 @@ start_bytes (const char *pretty_filename, int fd, uintmax_t n_bytes,
return -1;
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, _("error reading %s"), quote (pretty_filename));
+ error (0, errno, _("error reading %s"), quoteaf (pretty_filename));
return 1;
}
*read_pos += bytes_read;
@@ -850,7 +850,7 @@ start_lines (const char *pretty_filename, int fd, uintmax_t n_lines,
return -1;
if (bytes_read == SAFE_READ_ERROR) /* error */
{
- error (0, errno, _("error reading %s"), quote (pretty_filename));
+ error (0, errno, _("error reading %s"), quoteaf (pretty_filename));
return 1;
}
@@ -891,7 +891,7 @@ fremote (int fd, const char *name)
is open on a pipe. Treat that like a remote file. */
if (errno != ENOSYS)
error (0, errno, _("cannot determine location of %s. "
- "reverting to polling"), quote (name));
+ "reverting to polling"), quoteaf (name));
}
else
{
@@ -952,7 +952,7 @@ recheck (struct File_spec *f, bool blocking)
f->ignore = true;
error (0, 0, _("%s has been replaced with a symbolic link. "
- "giving up on this name"), quote (pretty_name (f)));
+ "giving up on this name"), quoteaf (pretty_name (f)));
}
else if (fd == -1 || fstat (fd, &new_stats) < 0)
{
@@ -967,7 +967,7 @@ recheck (struct File_spec *f, bool blocking)
be seen to be the same file (dev/ino). Otherwise, tail prints
the entire contents of the file when it becomes readable. */
error (0, f->errnum, _("%s has become inaccessible"),
- quote (pretty_name (f)));
+ quoteaf (pretty_name (f)));
}
else
{
@@ -975,7 +975,7 @@ recheck (struct File_spec *f, bool blocking)
}
}
else if (prev_errnum != errno)
- error (0, errno, "%s", quote (pretty_name (f)));
+ error (0, errno, "%s", quotef (pretty_name (f)));
}
else if (!IS_TAILABLE_FILE_TYPE (new_stats.st_mode))
{
@@ -983,7 +983,7 @@ recheck (struct File_spec *f, bool blocking)
f->errnum = -1;
error (0, 0, _("%s has been replaced with an untailable file;\
giving up on this name"),
- quote (pretty_name (f)));
+ quoteaf (pretty_name (f)));
f->ignore = true;
}
else if (!disable_inotify && fremote (fd, pretty_name (f)))
@@ -991,7 +991,7 @@ recheck (struct File_spec *f, bool blocking)
ok = false;
f->errnum = -1;
error (0, 0, _("%s has been replaced with a remote file. "
- "giving up on this name"), quote (pretty_name (f)));
+ "giving up on this name"), quoteaf (pretty_name (f)));
f->ignore = true;
f->remote = true;
}
@@ -1011,7 +1011,7 @@ recheck (struct File_spec *f, bool blocking)
{
new_file = true;
assert (f->fd == -1);
- error (0, 0, _("%s has become accessible"), quote (pretty_name (f)));
+ error (0, 0, _("%s has become accessible"), quoteaf (pretty_name (f)));
}
else if (f->fd == -1)
{
@@ -1024,7 +1024,7 @@ recheck (struct File_spec *f, bool blocking)
error (0, 0,
_("%s has appeared; following new file"),
- quote (pretty_name (f)));
+ quoteaf (pretty_name (f)));
}
else if (f->ino != new_stats.st_ino || f->dev != new_stats.st_dev)
{
@@ -1034,7 +1034,7 @@ recheck (struct File_spec *f, bool blocking)
error (0, 0,
_("%s has been replaced; following new file"),
- quote (pretty_name (f)));
+ quoteaf (pretty_name (f)));
/* Close the old one. */
close_fd (f->fd, pretty_name (f));
@@ -1151,7 +1151,7 @@ tail_forever (struct File_spec *f, size_t n_files, double sleep_interval)
else
error (EXIT_FAILURE, errno,
_("%s: cannot change nonblocking mode"),
- quote (name));
+ quotef (name));
}
else
f[i].blocking = blocking;
@@ -1163,7 +1163,7 @@ tail_forever (struct File_spec *f, size_t n_files, double sleep_interval)
{
f[i].fd = -1;
f[i].errnum = errno;
- error (0, errno, "%s", quote (name));
+ error (0, errno, "%s", quotef (name));
close (fd); /* ignore failure */
continue;
}
@@ -1196,7 +1196,7 @@ tail_forever (struct File_spec *f, size_t n_files, double sleep_interval)
(in which case we ignore new data <= size). */
if (S_ISREG (mode) && stats.st_size < f[i].size)
{
- error (0, 0, _("%s: file truncated"), quote (name));
+ error (0, 0, _("%s: file truncated"), quotef (name));
/* Assume the file was truncated to 0,
and therefore output all "new" data. */
xlseek (fd, 0, SEEK_SET, name);
@@ -1338,7 +1338,7 @@ check_fspec (struct File_spec *fspec, struct File_spec **prev_fspec)
separate events for truncate() and write(). */
if (S_ISREG (fspec->mode) && stats.st_size < fspec->size)
{
- error (0, 0, _("%s: file truncated"), quote (name));
+ error (0, 0, _("%s: file truncated"), quotef (name));
xlseek (fspec->fd, 0, SEEK_SET, name);
fspec->size = 0;
}
@@ -1433,7 +1433,7 @@ tail_forever_inotify (int wd, struct File_spec *f, size_t n_files,
{
if (errno != ENOSPC) /* suppress confusing error. */
error (0, errno, _("cannot watch parent directory of %s"),
- quote (f[i].name));
+ quoteaf (f[i].name));
else
error (0, 0, _("inotify resources exhausted"));
found_unwatchable_dir = true;
@@ -1456,7 +1456,7 @@ tail_forever_inotify (int wd, struct File_spec *f, size_t n_files,
break;
}
else if (errno != f[i].errnum)
- error (0, errno, _("cannot watch %s"), quote (f[i].name));
+ error (0, errno, _("cannot watch %s"), quoteaf (f[i].name));
continue;
}
@@ -1506,7 +1506,7 @@ tail_forever_inotify (int wd, struct File_spec *f, size_t n_files,
&& (f[i].dev != stats.st_dev || f[i].ino != stats.st_ino))
{
error (0, errno, _("%s was replaced"),
- quote (pretty_name (&(f[i]))));
+ quoteaf (pretty_name (&(f[i]))));
hash_free (wd_to_name);
errno = 0;
@@ -1635,7 +1635,7 @@ tail_forever_inotify (int wd, struct File_spec *f, size_t n_files,
else
{
/* Can get ENOENT for a dangling symlink for example. */
- error (0, errno, _("cannot watch %s"), quote (f[j].name));
+ error (0, errno, _("cannot watch %s"), quoteaf (f[j].name));
}
/* We'll continue below after removing the existing watch. */
}
@@ -1726,7 +1726,7 @@ tail_bytes (const char *pretty_filename, int fd, uintmax_t n_bytes,
if (fstat (fd, &stats))
{
- error (0, errno, _("cannot fstat %s"), quote (pretty_filename));
+ error (0, errno, _("cannot fstat %s"), quoteaf (pretty_filename));
return false;
}
@@ -1782,7 +1782,7 @@ tail_lines (const char *pretty_filename, int fd, uintmax_t n_lines,
if (fstat (fd, &stats))
{
- error (0, errno, _("cannot fstat %s"), quote (pretty_filename));
+ error (0, errno, _("cannot fstat %s"), quoteaf (pretty_filename));
return false;
}
@@ -1881,7 +1881,7 @@ tail_file (struct File_spec *f, uintmax_t n_units)
f->dev = 0;
}
error (0, errno, _("cannot open %s for reading"),
- quote (pretty_name (f)));
+ quoteaf (pretty_name (f)));
ok = false;
}
else
@@ -1906,13 +1906,14 @@ tail_file (struct File_spec *f, uintmax_t n_units)
{
ok = false;
f->errnum = errno;
- error (0, errno, _("error reading %s"), quote (pretty_name (f)));
+ error (0, errno, _("error reading %s"),
+ quoteaf (pretty_name (f)));
}
else if (!IS_TAILABLE_FILE_TYPE (stats.st_mode))
{
error (0, 0, _("%s: cannot follow end of this type of file;\
giving up on this name"),
- quote (pretty_name (f)));
+ quotef (pretty_name (f)));
ok = false;
f->errnum = -1;
f->ignore = true;
@@ -1936,7 +1937,8 @@ tail_file (struct File_spec *f, uintmax_t n_units)
{
if (!is_stdin && close (fd))
{
- error (0, errno, _("error reading %s"), quote (pretty_name (f)));
+ error (0, errno, _("error reading %s"),
+ quoteaf (pretty_name (f)));
ok = false;
}
}
@@ -2258,7 +2260,7 @@ main (int argc, char **argv)
/* When following by name, there must be a name. */
if (found_hyphen && follow_mode == Follow_name)
- error (EXIT_FAILURE, 0, _("cannot follow %s by name"), quote ("-"));
+ error (EXIT_FAILURE, 0, _("cannot follow %s by name"), quoteaf ("-"));
/* When following forever, warn if any file is '-'.
This is only a warning, since tail's output (before a failing seek,
diff --git a/src/tee.c b/src/tee.c
index 37105c3ca..ae1bb30ba 100644
--- a/src/tee.c
+++ b/src/tee.c
@@ -25,7 +25,6 @@
#include "argmatch.h"
#include "error.h"
#include "fadvise.h"
-#include "quote.h"
#include "stdio--.h"
#include "xfreopen.h"
@@ -219,7 +218,7 @@ tee_files (int nfiles, char **files)
{
error (output_error == output_error_exit
|| output_error == output_error_exit_nopipe,
- errno, "%s", quote (files[i]));
+ errno, "%s", quotef (files[i]));
ok = false;
}
else
@@ -252,7 +251,7 @@ tee_files (int nfiles, char **files)
{
error (output_error == output_error_exit
|| output_error == output_error_exit_nopipe,
- w_errno, "%s", quote (files[i]));
+ w_errno, "%s", quotef (files[i]));
}
descriptors[i] = NULL;
if (fail)
@@ -271,7 +270,7 @@ tee_files (int nfiles, char **files)
for (i = 1; i <= nfiles; i++)
if (descriptors[i] && fclose (descriptors[i]) != 0)
{
- error (0, errno, "%s", quote (files[i]));
+ error (0, errno, "%s", quotef (files[i]));
ok = false;
}
diff --git a/src/touch.c b/src/touch.c
index 628610a81..7408321aa 100644
--- a/src/touch.c
+++ b/src/touch.c
@@ -169,7 +169,7 @@ touch (const char *file)
{
if (close (STDIN_FILENO) != 0)
{
- error (0, errno, _("failed to close %s"), quote (file));
+ error (0, errno, _("failed to close %s"), quoteaf (file));
return false;
}
}
@@ -188,13 +188,13 @@ touch (const char *file)
- the file does not exist, but the parent directory is unwritable
- the file exists, but it isn't writable
I think it's not worth trying to distinguish them. */
- error (0, open_errno, _("cannot touch %s"), quote (file));
+ error (0, open_errno, _("cannot touch %s"), quoteaf (file));
}
else
{
if (no_create && errno == ENOENT)
return true;
- error (0, errno, _("setting times of %s"), quote (file));
+ error (0, errno, _("setting times of %s"), quoteaf (file));
}
return false;
}
@@ -344,7 +344,7 @@ main (int argc, char **argv)
if (no_dereference ? lstat (ref_file, &ref_stats)
: stat (ref_file, &ref_stats))
error (EXIT_FAILURE, errno,
- _("failed to get attributes of %s"), quote (ref_file));
+ _("failed to get attributes of %s"), quoteaf (ref_file));
newtime[0] = get_stat_atime (&ref_stats);
newtime[1] = get_stat_mtime (&ref_stats);
date_set = true;
diff --git a/src/truncate.c b/src/truncate.c
index c40cd6113..f49efc5e2 100644
--- a/src/truncate.c
+++ b/src/truncate.c
@@ -110,7 +110,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize,
if ((block_mode || (rel_mode && rsize < 0)) && fstat (fd, &sb) != 0)
{
- error (0, errno, _("cannot fstat %s"), quote (fname));
+ error (0, errno, _("cannot fstat %s"), quoteaf (fname));
return false;
}
if (block_mode)
@@ -122,7 +122,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize,
_("overflow in %" PRIdMAX
" * %" PRIdMAX " byte blocks for file %s"),
(intmax_t) ssize, (intmax_t) blksize,
- quote (fname));
+ quoteaf (fname));
return false;
}
ssize *= blksize;
@@ -144,7 +144,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize,
/* Sanity check. Overflow is the only reason I can think
this would ever go negative. */
error (0, 0, _("%s has unusable, apparently negative size"),
- quote (fname));
+ quoteaf (fname));
return false;
}
}
@@ -154,7 +154,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize,
if (file_size < 0)
{
error (0, errno, _("cannot get the size of %s"),
- quote (fname));
+ quoteaf (fname));
return false;
}
}
@@ -176,7 +176,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize,
if (overflow > OFF_T_MAX)
{
error (0, 0, _("overflow rounding up size of file %s"),
- quote (fname));
+ quoteaf (fname));
return false;
}
nsize = overflow;
@@ -186,7 +186,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize,
if (ssize > OFF_T_MAX - (off_t)fsize)
{
error (0, 0, _("overflow extending size of file %s"),
- quote (fname));
+ quoteaf (fname));
return false;
}
nsize = fsize + ssize;
@@ -200,7 +200,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize,
if (ftruncate (fd, nsize) == -1) /* note updates mtime & ctime */
{
error (0, errno,
- _("failed to truncate %s at %" PRIdMAX " bytes"), quote (fname),
+ _("failed to truncate %s at %" PRIdMAX " bytes"), quoteaf (fname),
(intmax_t) nsize);
return false;
}
@@ -334,7 +334,7 @@ main (int argc, char **argv)
struct stat sb;
off_t file_size = -1;
if (stat (ref_file, &sb) != 0)
- error (EXIT_FAILURE, errno, _("cannot stat %s"), quote (ref_file));
+ error (EXIT_FAILURE, errno, _("cannot stat %s"), quoteaf (ref_file));
if (usable_st_size (&sb))
file_size = sb.st_size;
else
@@ -356,7 +356,7 @@ main (int argc, char **argv)
}
if (file_size < 0)
error (EXIT_FAILURE, errno, _("cannot get the size of %s"),
- quote (ref_file));
+ quoteaf (ref_file));
if (!got_size)
size = file_size;
else
@@ -376,7 +376,7 @@ main (int argc, char **argv)
if (!(no_create && errno == ENOENT))
{
error (0, errno, _("cannot open %s for writing"),
- quote (fname));
+ quoteaf (fname));
errors = true;
}
continue;
@@ -388,7 +388,7 @@ main (int argc, char **argv)
errors |= !do_ftruncate (fd, fname, size, rsize, rel_mode);
if (close (fd) != 0)
{
- error (0, errno, _("failed to close %s"), quote (fname));
+ error (0, errno, _("failed to close %s"), quoteaf (fname));
errors = true;
}
}
diff --git a/src/tsort.c b/src/tsort.c
index dc9bed5e9..9a8498001 100644
--- a/src/tsort.c
+++ b/src/tsort.c
@@ -30,9 +30,9 @@
#include "long-options.h"
#include "error.h"
#include "fadvise.h"
-#include "quote.h"
#include "readtokens.h"
#include "stdio--.h"
+#include "quote.h"
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "tsort"
@@ -445,7 +445,7 @@ tsort (const char *file)
root = new_item (NULL);
if (!is_stdin && ! freopen (file, "r", stdin))
- error (EXIT_FAILURE, errno, "%s", quote (file));
+ error (EXIT_FAILURE, errno, "%s", quotef (file));
fadvise (stdin, FADVISE_SEQUENTIAL);
@@ -473,7 +473,7 @@ tsort (const char *file)
if (k != NULL)
error (EXIT_FAILURE, 0, _("%s: input contains an odd number of tokens"),
- quote (file));
+ quotef (file));
/* T1. Initialize (N <- n). */
walk_tree (root, count_items);
@@ -518,7 +518,7 @@ tsort (const char *file)
if (n_strings > 0)
{
/* The input contains a loop. */
- error (0, 0, _("%s: input contains a loop:"), quote (file));
+ error (0, 0, _("%s: input contains a loop:"), quotef (file));
ok = false;
/* Print the loop and remove a relation to break it. */
@@ -532,7 +532,7 @@ tsort (const char *file)
if (fclose (stdin) != 0)
error (EXIT_FAILURE, errno, "%s",
- is_stdin ? _("standard input") : quote (file));
+ is_stdin ? _("standard input") : quotef (file));
return ok;
}
diff --git a/src/unexpand.c b/src/unexpand.c
index 14ff84f2b..ec5fb81d8 100644
--- a/src/unexpand.c
+++ b/src/unexpand.c
@@ -243,14 +243,14 @@ next_file (FILE *fp)
{
if (ferror (fp))
{
- error (0, errno, "%s", quote (prev_file));
+ error (0, errno, "%s", quotef (prev_file));
exit_status = EXIT_FAILURE;
}
if (STREQ (prev_file, "-"))
clearerr (fp); /* Also clear EOF. */
else if (fclose (fp) != 0)
{
- error (0, errno, "%s", quote (prev_file));
+ error (0, errno, "%s", quotef (prev_file));
exit_status = EXIT_FAILURE;
}
}
@@ -270,7 +270,7 @@ next_file (FILE *fp)
fadvise (fp, FADVISE_SEQUENTIAL);
return fp;
}
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
exit_status = EXIT_FAILURE;
}
return NULL;
diff --git a/src/uniq.c b/src/uniq.c
index c85be6ee8..79eb40b7f 100644
--- a/src/uniq.c
+++ b/src/uniq.c
@@ -28,11 +28,11 @@
#include "fadvise.h"
#include "hard-locale.h"
#include "posixver.h"
-#include "quote.h"
#include "stdio--.h"
#include "xmemcoll.h"
#include "xstrtol.h"
#include "memcasecmp.h"
+#include "quote.h"
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "uniq"
@@ -327,9 +327,9 @@ check_file (const char *infile, const char *outfile, char delimiter)
struct linebuffer *thisline, *prevline;
if (! (STREQ (infile, "-") || freopen (infile, "r", stdin)))
- error (EXIT_FAILURE, errno, "%s", quote (infile));
+ error (EXIT_FAILURE, errno, "%s", quotef (infile));
if (! (STREQ (outfile, "-") || freopen (outfile, "w", stdout)))
- error (EXIT_FAILURE, errno, "%s", quote (outfile));
+ error (EXIT_FAILURE, errno, "%s", quotef (outfile));
fadvise (stdin, FADVISE_SEQUENTIAL);
@@ -462,7 +462,7 @@ check_file (const char *infile, const char *outfile, char delimiter)
closefiles:
if (ferror (stdin) || fclose (stdin) != 0)
- error (EXIT_FAILURE, 0, _("error reading %s"), quote (infile));
+ error (EXIT_FAILURE, 0, _("error reading %s"), quoteaf (infile));
/* stdout is handled via the atexit-invoked close_stdout function. */
diff --git a/src/unlink.c b/src/unlink.c
index 0b26fd4e1..7fba45ff0 100644
--- a/src/unlink.c
+++ b/src/unlink.c
@@ -83,7 +83,7 @@ main (int argc, char **argv)
}
if (unlink (argv[optind]) != 0)
- error (EXIT_FAILURE, errno, _("cannot unlink %s"), quote (argv[optind]));
+ error (EXIT_FAILURE, errno, _("cannot unlink %s"), quoteaf (argv[optind]));
return EXIT_SUCCESS;
}
diff --git a/src/uptime.c b/src/uptime.c
index b35fd0742..3f15b6b5f 100644
--- a/src/uptime.c
+++ b/src/uptime.c
@@ -180,7 +180,7 @@ uptime (const char *filename, int options)
#if HAVE_UTMPX_H || HAVE_UTMP_H
if (read_utmp (filename, &n_users, &utmp_buf, options) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (filename));
+ error (EXIT_FAILURE, errno, "%s", quotef (filename));
#endif
print_uptime (n_users, utmp_buf);
diff --git a/src/users.c b/src/users.c
index 2a66101f9..6f943891a 100644
--- a/src/users.c
+++ b/src/users.c
@@ -88,7 +88,7 @@ users (const char *filename, int options)
STRUCT_UTMP *utmp_buf;
if (read_utmp (filename, &n_users, &utmp_buf, options) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (filename));
+ error (EXIT_FAILURE, errno, "%s", quotef (filename));
list_entries_users (n_users, utmp_buf);
diff --git a/src/wc.c b/src/wc.c
index 30a08926f..33b5ba4dd 100644
--- a/src/wc.c
+++ b/src/wc.c
@@ -32,7 +32,6 @@
#include "fadvise.h"
#include "mbchar.h"
#include "physmem.h"
-#include "quote.h"
#include "readtokens0.h"
#include "safe-read.h"
#include "stat-size.h"
@@ -258,7 +257,7 @@ wc (int fd, char const *file_x, struct fstatus *fstatus, off_t current_pos)
{
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
ok = false;
break;
}
@@ -274,7 +273,7 @@ wc (int fd, char const *file_x, struct fstatus *fstatus, off_t current_pos)
{
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
ok = false;
break;
}
@@ -342,7 +341,7 @@ wc (int fd, char const *file_x, struct fstatus *fstatus, off_t current_pos)
# endif
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
ok = false;
break;
}
@@ -463,7 +462,7 @@ wc (int fd, char const *file_x, struct fstatus *fstatus, off_t current_pos)
const char *p = buf;
if (bytes_read == SAFE_READ_ERROR)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
ok = false;
break;
}
@@ -540,7 +539,7 @@ wc_file (char const *file, struct fstatus *fstatus)
int fd = open (file, O_RDONLY | O_BINARY);
if (fd == -1)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
else
@@ -548,7 +547,7 @@ wc_file (char const *file, struct fstatus *fstatus)
bool ok = wc (fd, file, fstatus, 0);
if (close (fd) != 0)
{
- error (0, errno, "%s", quote (file));
+ error (0, errno, "%s", quotef (file));
return false;
}
return ok;
@@ -696,7 +695,7 @@ main (int argc, char **argv)
on the command-line. */
if (optind < argc)
{
- error (0, 0, _("extra operand %s"), quote (argv[optind]));
+ error (0, 0, _("extra operand %s"), quoteaf (argv[optind]));
fprintf (stderr, "%s\n",
_("file operands cannot be combined with --files0-from"));
usage (EXIT_FAILURE);
@@ -709,7 +708,7 @@ main (int argc, char **argv)
stream = fopen (files_from, "r");
if (stream == NULL)
error (EXIT_FAILURE, errno, _("cannot open %s for reading"),
- quote (files_from));
+ quoteaf (files_from));
}
/* Read the file list into RAM if we can detect its size and that
@@ -723,7 +722,7 @@ main (int argc, char **argv)
readtokens0_init (&tok);
if (! readtokens0 (stream, &tok) || fclose (stream) != 0)
error (EXIT_FAILURE, 0, _("cannot read file names from %s"),
- quote (files_from));
+ quoteaf (files_from));
files = tok.tok;
nfiles = tok.n_tok;
ai = argv_iter_init_argv (files);
@@ -764,7 +763,7 @@ main (int argc, char **argv)
goto argv_iter_done;
case AI_ERR_READ:
error (0, errno, _("%s: read error"),
- quote (files_from));
+ quotef (files_from));
ok = false;
goto argv_iter_done;
case AI_ERR_MEM:
@@ -779,7 +778,7 @@ main (int argc, char **argv)
printf - | wc --files0-from=- */
error (0, 0, _("when reading file names from stdin, "
"no file name of %s allowed"),
- quote (file_name));
+ quoteaf (file_name));
skip_file = true;
}
@@ -797,7 +796,7 @@ main (int argc, char **argv)
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", quote (files_from),
+ error (0, 0, "%s:%lu: %s", quotef (files_from),
file_number, _("invalid zero-length file name"));
}
skip_file = true;
diff --git a/src/who.c b/src/who.c
index 2260bc1e9..9206af2b8 100644
--- a/src/who.c
+++ b/src/who.c
@@ -620,7 +620,7 @@ who (const char *filename, int options)
STRUCT_UTMP *utmp_buf;
if (read_utmp (filename, &n_users, &utmp_buf, options) != 0)
- error (EXIT_FAILURE, errno, "%s", quote (filename));
+ error (EXIT_FAILURE, errno, "%s", quotef (filename));
if (short_list)
list_entries_who (n_users, utmp_buf);
--
cgit v1.2.3-70-g09d2