Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jan 2013 22:00:44 +0000 (UTC)
From:      Brooks Davis <brooks@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r245439 - in stable/9: include lib/libc/gen
Message-ID:  <201301142200.r0EM0i3Y047401@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: brooks
Date: Mon Jan 14 22:00:43 2013
New Revision: 245439
URL: http://svnweb.freebsd.org/changeset/base/245439

Log:
  MFC r244401,245305,245308:
  
  Replace our implementation of the vis(3) and unvis(3) APIs with
  NetBSD's.  This output size limited versions of vis and unvis functions
  as well as a set of vis variants that allow arbitrary characters to be
  specified for encoding.
  
  Finally, MIME Quoted-Printable encoding as described in RFC 2045 is
  supported.

Added:
     - copied from r245267, head/contrib/libc-vis/
  stable/9/lib/libc/gen/unvis-compat.c
     - copied unchanged from r244401, head/lib/libc/gen/unvis-compat.c
Directory Properties:
  stable/9/contrib/libc-vis/   (props changed)
Deleted:
  stable/9/include/vis.h
  stable/9/lib/libc/gen/unvis.3
  stable/9/lib/libc/gen/unvis.c
  stable/9/lib/libc/gen/vis.3
  stable/9/lib/libc/gen/vis.c
Modified:
  stable/9/include/Makefile
  stable/9/lib/libc/gen/Makefile.inc
  stable/9/lib/libc/gen/Symbol.map
Directory Properties:
  stable/9/include/   (props changed)
  stable/9/lib/libc/   (props changed)

Modified: stable/9/include/Makefile
==============================================================================
--- stable/9/include/Makefile	Mon Jan 14 21:31:27 2013	(r245438)
+++ stable/9/include/Makefile	Mon Jan 14 22:00:43 2013	(r245439)
@@ -23,9 +23,12 @@ INCS=	a.out.h ar.h assert.h bitstring.h 
 	stdbool.h stddef.h stdio.h stdlib.h string.h stringlist.h \
 	strings.h sysexits.h tar.h termios.h tgmath.h \
 	time.h timeconv.h timers.h ttyent.h \
-	ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h vis.h \
+	ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h \
 	wchar.h wctype.h wordexp.h xlocale.h
 
+.PATH: ${.CURDIR}/../contrib/libc-vis
+INCS+=	vis.h
+
 MHDRS=	float.h floatingpoint.h stdarg.h
 
 PHDRS=	sched.h _semaphore.h

Modified: stable/9/lib/libc/gen/Makefile.inc
==============================================================================
--- stable/9/lib/libc/gen/Makefile.inc	Mon Jan 14 21:31:27 2013	(r245438)
+++ stable/9/lib/libc/gen/Makefile.inc	Mon Jan 14 22:00:43 2013	(r245439)
@@ -32,13 +32,17 @@ SRCS+=  __getosreldate.c __xuname.c \
 	sigsetops.c sleep.c srand48.c statvfs.c stringlist.c strtofflags.c \
 	sysconf.c sysctl.c sysctlbyname.c sysctlnametomib.c \
 	syslog.c telldir.c termios.c time.c times.c timezone.c tls.c \
-	ttyname.c ttyslot.c ualarm.c ulimit.c uname.c unvis.c \
-	usleep.c utime.c utxdb.c valloc.c vis.c wait.c wait3.c waitpid.c \
+	ttyname.c ttyslot.c ualarm.c ulimit.c uname.c unvis-compat.c \
+	usleep.c utime.c utxdb.c valloc.c wait.c wait3.c waitpid.c \
 	waitid.c wordexp.c
 
 .PATH: ${.CURDIR}/../../contrib/libc-pwcache
 SRCS+=	pwcache.c pwcache.h
 
+.PATH: ${.CURDIR}/../../contrib/libc-vis
+CFLAGS+=	-I${.CURDIR}/../../contrib/libc-vis
+SRCS+=	unvis.c vis.c
+
 CANCELPOINTS_SRCS=sem.c sem_new.c
 .for src in ${CANCELPOINTS_SRCS}
 SRCS+=cancelpoints_${src}

Modified: stable/9/lib/libc/gen/Symbol.map
==============================================================================
--- stable/9/lib/libc/gen/Symbol.map	Mon Jan 14 21:31:27 2013	(r245438)
+++ stable/9/lib/libc/gen/Symbol.map	Mon Jan 14 22:00:43 2013	(r245439)
@@ -297,7 +297,6 @@ FBSD_1.0 {
 	ualarm;
 	ulimit;
 	uname;
-	unvis;
 	strunvis;
 	strunvisx;
 	usleep;
@@ -385,9 +384,21 @@ FBSD_1.3 {
 	__FreeBSD_libc_enter_restricted_mode;
 	getcontextx;
 	gid_from_group;
+	nvis;
 	pwcache_userdb;
 	pwcache_groupdb;
+	snvis;
+	strnunvis;
+	strnunvisx;
+	strnvis;
+	strnvisx;
+	strsnvis;
+	strsnvisx;
+	strsvis;
+	strsvisx;
+	svis;
 	uid_from_user;
+	unvis;
 	waitid;
 };
 

Copied: stable/9/lib/libc/gen/unvis-compat.c (from r244401, head/lib/libc/gen/unvis-compat.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/lib/libc/gen/unvis-compat.c	Mon Jan 14 22:00:43 2013	(r245439, copy of r244401, head/lib/libc/gen/unvis-compat.c)
@@ -0,0 +1,46 @@
+/*-
+ * Copyright (c) 2012 SRI International
+ * All rights reserved.
+ *
+ * This software was developed by SRI International and the University of
+ * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
+ * ("CTSRD"), as part of the DARPA CRASH research programme.
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
+ *
+ * $FreeBSD$
+ */
+
+#include <vis.h>
+
+#define	_UNVIS_END	1
+
+int
+__unvis_44bsd(char *cp, int c, int *astate, int flag)
+{
+
+	if (flag & _UNVIS_END)
+		flag = (flag & ~_UNVIS_END) ^ UNVIS_END;
+	return unvis(cp, c, astate, flag);
+}
+
+__sym_compat(unvis, __vis_44bsd, FBSD_1.0);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301142200.r0EM0i3Y047401>