Date: Thu, 21 Feb 2013 21:09:56 +0000 (UTC) From: Brooks Davis <brooks@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r247131 - in vendor/NetBSD/unvis: . dist Message-ID: <201302212109.r1LL9ufW072552@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: brooks Date: Thu Feb 21 21:09:55 2013 New Revision: 247131 URL: http://svnweb.freebsd.org/changeset/base/247131 Log: Vendor import of NetBSD's unvis(1) at 2013-02-21 Added: vendor/NetBSD/unvis/ vendor/NetBSD/unvis/FreeBSD-Upgrade - copied, changed from r247128, vendor/NetBSD/vis/FreeBSD-Upgrade vendor/NetBSD/unvis/dist/ vendor/NetBSD/unvis/dist/Makefile (contents, props changed) vendor/NetBSD/unvis/dist/unvis.1 (contents, props changed) vendor/NetBSD/unvis/dist/unvis.c (contents, props changed) Copied and modified: vendor/NetBSD/unvis/FreeBSD-Upgrade (from r247128, vendor/NetBSD/vis/FreeBSD-Upgrade) ============================================================================== --- vendor/NetBSD/vis/FreeBSD-Upgrade Thu Feb 21 20:44:53 2013 (r247128, copy source) +++ vendor/NetBSD/unvis/FreeBSD-Upgrade Thu Feb 21 21:09:55 2013 (r247131) @@ -1,23 +1,23 @@ -Instructions for updating vis(1): +Instructions for updating unvis(1): 1) checkout the head of the vendor branch: REPO=svn+ssh://svn.freebsd.org/ - svn co $REPO/base/vendor/NetBSD/vis/dist + svn co $REPO/base/vendor/NetBSD/unvis/dist 2) Update sources: rm dist/* export CVSROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot - cvs export -r HEAD -d dist src/usr.bin/vis + cvs export -r HEAD -d dist src/usr.bin/unvis 3) Commit the new versions: - svn commit -m "Vendor import of NetBSD's vis(1) at `date +%F`" dist - svn cp -m "Tag `date +%F` import of NetBSD's vis(1)" \ - $REPO/base/vendor/NetBSD/vis/dist \ - $REPO/base/vendor/NetBSD/vis/`date +%Y%d%m` + svn commit -m "Vendor import of NetBSD's unvis(1) at `date +%F`" dist + svn cp -m "Tag `date +%F` import of NetBSD's unvis(1)" \ + $REPO/base/vendor/NetBSD/unvis/dist \ + $REPO/base/vendor/NetBSD/unvis/`date +%Y%d%m` -4) Update the files in src/contrib/vis: +4) Update the files in src/contrib/unvis: Added: vendor/NetBSD/unvis/dist/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/NetBSD/unvis/dist/Makefile Thu Feb 21 21:09:55 2013 (r247131) @@ -0,0 +1,6 @@ +# $NetBSD: Makefile,v 1.3 1994/12/06 07:36:07 jtc Exp $ +# @(#)Makefile 8.1 (Berkeley) 6/6/93 + +PROG= unvis + +.include <bsd.prog.mk> Added: vendor/NetBSD/unvis/dist/unvis.1 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/NetBSD/unvis/dist/unvis.1 Thu Feb 21 21:09:55 2013 (r247131) @@ -0,0 +1,80 @@ +.\" $NetBSD: unvis.1,v 1.10 2012/12/15 02:08:13 uwe Exp $ +.\" +.\" Copyright (c) 1989, 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)unvis.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd November 27, 2010 +.Dt UNVIS 1 +.Os +.Sh NAME +.Nm unvis +.Nd "revert a visual representation of data back to original form" +.Sh SYNOPSIS +.Nm +.Op Fl e +.Op Fl Hh | Fl m +.Op Ar file ... +.Sh DESCRIPTION +.Nm +is the inverse function of +.Xr vis 1 . +It reverts +a visual representation of data back to its original form on standard output. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl e +Don't decode \e escaped sequences. +.It Fl H +Decode entity references and numeric character references from RFC 1866. +.Pq Dv VIS_HTTP1866 +.It Fl h +Decode using the URI encoding from RFC 1808. +.Pq Dv VIS_HTTP1808 +.It Fl m +Decode using mime style. +.Pq Dv VIS_MIMESTYLE +.El +.Pp +Mixing +.Fl h +or +.Fl H +with +.Fl m +is not supported. +.Sh SEE ALSO +.Xr vis 1 , +.Xr unvis 3 , +.Xr vis 3 +.Sh HISTORY +The +.Nm +command appears in +.Bx 4.4 . Added: vendor/NetBSD/unvis/dist/unvis.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/NetBSD/unvis/dist/unvis.c Thu Feb 21 21:09:55 2013 (r247131) @@ -0,0 +1,138 @@ +/* $NetBSD: unvis.c,v 1.13 2010/11/27 19:46:25 christos Exp $ */ + +/*- + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1989, 1993\ + The Regents of the University of California. All rights reserved."); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)unvis.c 8.1 (Berkeley) 6/6/93"; +#endif +__RCSID("$NetBSD: unvis.c,v 1.13 2010/11/27 19:46:25 christos Exp $"); +#endif /* not lint */ + +#include <err.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <vis.h> + +static void process(FILE *, const char *, int); + +int +main(int argc, char *argv[]) +{ + FILE *fp; + int ch, eflags = 0; + + setprogname(argv[0]); + while ((ch = getopt(argc, argv, "eHhm")) != -1) + switch((char)ch) { + case 'e': + eflags |= VIS_NOESCAPE; + break; + case 'H': + eflags |= VIS_HTTP1866; + break; + case 'h': + eflags |= VIS_HTTP1808; + break; + case 'm': + eflags |= VIS_MIMESTYLE; + break; + case '?': + default: + (void)fprintf(stderr, + "Usage: %s [-e] [-Hh | -m] [file...]\n", + getprogname()); + return EXIT_FAILURE; + } + argc -= optind; + argv += optind; + + switch (eflags & (VIS_HTTP1808|VIS_HTTP1866|VIS_MIMESTYLE)) { + case VIS_HTTP1808|VIS_MIMESTYLE: + case VIS_HTTP1866|VIS_MIMESTYLE: + case VIS_HTTP1808|VIS_HTTP1866|VIS_MIMESTYLE: + errx(EXIT_FAILURE, "Can't mix -m with -h and/or -H"); + /*NOTREACHED*/ + default: + break; + } + + if (*argv) + while (*argv) { + if ((fp = fopen(*argv, "r")) != NULL) + process(fp, *argv, eflags); + else + warn("%s", *argv); + argv++; + } + else + process(stdin, "<stdin>", eflags); + return EXIT_SUCCESS; +} + +static void +process(FILE *fp, const char *filename, int eflags) +{ + int offset = 0, c, ret; + int state = 0; + char outc; + + while ((c = getc(fp)) != EOF) { + offset++; + again: + switch(ret = unvis(&outc, (char)c, &state, eflags)) { + case UNVIS_VALID: + (void)putchar(outc); + break; + case UNVIS_VALIDPUSH: + (void)putchar(outc); + goto again; + case UNVIS_SYNBAD: + warnx("%s: offset: %d: can't decode", filename, offset); + state = 0; + break; + case 0: + case UNVIS_NOCHAR: + break; + default: + errx(1, "bad return value (%d), can't happen", ret); + /* NOTREACHED */ + } + } + if (unvis(&outc, (char)0, &state, eflags | UNVIS_END) == UNVIS_VALID) + (void)putchar(outc); +}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302212109.r1LL9ufW072552>