Module Name: src Committed By: christos Date: Fri Dec 14 21:38:18 UTC 2012
Modified Files: src/lib/libc/gen: vis.3 vis.c Log Message: Add VIS_GLOB (Brooks Davies) To generate a diff of this commit: cvs rdiff -u -r1.27 -r1.28 src/lib/libc/gen/vis.3 cvs rdiff -u -r1.44 -r1.45 src/lib/libc/gen/vis.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/gen/vis.3 diff -u src/lib/libc/gen/vis.3:1.27 src/lib/libc/gen/vis.3:1.28 --- src/lib/libc/gen/vis.3:1.27 Tue May 17 03:10:39 2011 +++ src/lib/libc/gen/vis.3 Fri Dec 14 16:38:18 2012 @@ -1,4 +1,4 @@ -.\" $NetBSD: vis.3,v 1.27 2011/05/17 07:10:39 joerg Exp $ +.\" $NetBSD: vis.3,v 1.28 2012/12/14 21:38:18 christos Exp $ .\" .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)vis.3 8.1 (Berkeley) 6/9/93 .\" -.Dd March 12, 2011 +.Dd December 14, 2012 .Dt VIS 3 .Os .Sh NAME @@ -219,6 +219,15 @@ except space, tab, and newline are encod The following flags alter this: .Bl -tag -width VIS_WHITEX ++.It Dv VIS_GLOB +Also encode magic characters +.Ql ( * , +.Ql \&? , +.Ql \&[ +and +.Ql # ) +recognized by +.Xr glob 3 . .It Dv VIS_SP Also encode space. .It Dv VIS_TAB @@ -408,6 +417,7 @@ The destination buffer size is not large .Sh SEE ALSO .Xr unvis 1 , .Xr vis 1 , +.Xr glob 3 , .Xr unvis 3 .Rs .%A T. Berners-Lee Index: src/lib/libc/gen/vis.c diff -u src/lib/libc/gen/vis.c:1.44 src/lib/libc/gen/vis.c:1.45 --- src/lib/libc/gen/vis.c:1.44 Sat Mar 12 14:52:48 2011 +++ src/lib/libc/gen/vis.c Fri Dec 14 16:38:18 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: vis.c,v 1.44 2011/03/12 19:52:48 christos Exp $ */ +/* $NetBSD: vis.c,v 1.45 2012/12/14 21:38:18 christos Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -57,7 +57,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: vis.c,v 1.44 2011/03/12 19:52:48 christos Exp $"); +__RCSID("$NetBSD: vis.c,v 1.45 2012/12/14 21:38:18 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -89,7 +89,7 @@ static char *do_svis(char *, size_t *, i #define xtoa(c) "0123456789abcdef"[c] #define XTOA(c) "0123456789ABCDEF"[c] -#define MAXEXTRAS 5 +#define MAXEXTRAS 9 #define MAKEEXTRALIST(flag, extra, orig_str) \ do { \ @@ -103,6 +103,12 @@ do { \ for (o = orig, e = extra; (*e++ = *o++) != '\0';) \ continue; \ e--; \ + if (flag & VIS_GLOB) { \ + *e++ = '*'; \ + *e++ = '?'; \ + *e++ = '['; \ + *e++ = '#'; \ + } \ if (flag & VIS_SP) *e++ = ' '; \ if (flag & VIS_TAB) *e++ = '\t'; \ if (flag & VIS_NL) *e++ = '\n'; \