summaryrefslogtreecommitdiffstats
path: root/sbin/restore/interactive.c
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2003-08-06 08:46:21 +0000
committerache <ache@FreeBSD.org>2003-08-06 08:46:21 +0000
commit10de01a46be3ee94ac910ffcf68ebf3b3ac31644 (patch)
tree09a7c2772da2438fe97a3a621e63e691dc4110a4 /sbin/restore/interactive.c
parent7da34893087a086403ecad1f03d077b2696d834c (diff)
downloadFreeBSD-src-10de01a46be3ee94ac910ffcf68ebf3b3ac31644.zip
FreeBSD-src-10de01a46be3ee94ac910ffcf68ebf3b3ac31644.tar.gz
Localize 'ls' output
Don't set 8bit in quote processing
Diffstat (limited to 'sbin/restore/interactive.c')
-rw-r--r--sbin/restore/interactive.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sbin/restore/interactive.c b/sbin/restore/interactive.c
index ec49c36..5fc468b 100644
--- a/sbin/restore/interactive.c
+++ b/sbin/restore/interactive.c
@@ -46,9 +46,10 @@ static const char rcsid[] =
#include <ufs/ufs/dir.h>
#include <protocols/dumprestore.h>
-#include <setjmp.h>
+#include <ctype.h>
#include <glob.h>
#include <limits.h>
+#include <setjmp.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -421,7 +422,7 @@ copynext(char *input, char *output)
*/
quote = *cp++;
while (*cp != quote && *cp != '\0')
- *bp++ = *cp++ | 0200;
+ *bp++ = *cp++;
if (*cp++ == '\0') {
fprintf(stderr, "missing %c\n", quote);
cp--;
@@ -581,7 +582,7 @@ mkentry(char *name, struct direct *dp, struct afile *fp)
fp->fnum = dp->d_ino;
fp->fname = savename(dp->d_name);
for (cp = fp->fname; *cp; cp++)
- if (!vflag && (*cp < ' ' || *cp >= 0177))
+ if (!vflag && !isprint((unsigned char)*cp))
*cp = '?';
fp->len = cp - fp->fname;
if (dflag && TSTINO(fp->fnum, dumpmap) == 0)
@@ -748,7 +749,7 @@ glob_stat(const char *name, struct stat *stp)
static int
fcmp(const void *f1, const void *f2)
{
- return (strcmp(((struct afile *)f1)->fname,
+ return (strcoll(((struct afile *)f1)->fname,
((struct afile *)f2)->fname));
}
OpenPOWER on IntegriCloud