[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r1193 - in trunk/libbsd: . src



Author: guillem
Date: 2006-02-14 05:39:29 +0000 (Tue, 14 Feb 2006)
New Revision: 1193

Added:
   trunk/libbsd/src/
   trunk/libbsd/src/arc4random.c
   trunk/libbsd/src/bsd_getopt.c
   trunk/libbsd/src/err.c
   trunk/libbsd/src/fgetln.c
   trunk/libbsd/src/fmtcheck.c
   trunk/libbsd/src/inet_net_pton.c
   trunk/libbsd/src/md5.copyright
   trunk/libbsd/src/md5c.c
   trunk/libbsd/src/strlcat.c
   trunk/libbsd/src/strlcpy.c
Removed:
   trunk/libbsd/arc4random.c
   trunk/libbsd/bsd_getopt.c
   trunk/libbsd/err.c
   trunk/libbsd/fgetln.c
   trunk/libbsd/fmtcheck.c
   trunk/libbsd/inet_net_pton.c
   trunk/libbsd/md5.copyright
   trunk/libbsd/md5c.c
   trunk/libbsd/strlcat.c
   trunk/libbsd/strlcpy.c
Modified:
   trunk/libbsd/ChangeLog
   trunk/libbsd/Makefile
Log:
Move sources to src/.


Modified: trunk/libbsd/ChangeLog
===================================================================
--- trunk/libbsd/ChangeLog	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/ChangeLog	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,5 +1,29 @@
 2006-02-14  Guillem Jover  <guillem@debian.org>
 
+	* arc4random.c: Move to ...
+	* src/arc4random.c: ... here.
+	* bsd_getopt.c: Move to ...
+	* src/bsd_getopt.c:: ... here.
+	* err.c: Move to ...
+	* src/err.c:: ... here.
+	* fgetln.c: Move to ...
+	* src/fgetln.c:: ... here.
+	* fmtcheck.c: Move to ...
+	* src/fmtcheck.c:: ... here.
+	* inet_net_pton.c: Move to ...
+	* src/inet_net_pton.c:: ... here.
+	* strlcat.c: Move to ...
+	* src/strlcat.c:: ... here.
+	* strlcpy.c: Move to ...
+	* src/strlcpy.c:: ... here.
+	* md5c.c: Move to ...
+	* src/md5c.c:: ... here.
+	* md5.copyright: Move to ...
+	* src/md5.copyright:: ... here.
+	* Makefile (LIB_SRCS): Automatically prefix the src/ dir.
+
+2006-02-14  Guillem Jover  <guillem@debian.org>
+
 	* Makefile (LIB_SRCS): Line wrap.
 	(LIB_INCLUDES): List only the files, automatically prefix the dir.
 	(LIB_MANS): Likewise.

Modified: trunk/libbsd/Makefile
===================================================================
--- trunk/libbsd/Makefile	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/Makefile	2006-02-14 05:39:29 UTC (rev 1193)
@@ -4,8 +4,9 @@
 # $Id$
 #
 
-LIB_SRCS = arc4random.c bsd_getopt.c err.c fgetln.c inet_net_pton.c \
-	   strlcat.c strlcpy.c md5c.c fmtcheck.c
+LIB_SRCS := arc4random.c bsd_getopt.c err.c fgetln.c inet_net_pton.c \
+	    strlcat.c strlcpy.c md5c.c fmtcheck.c
+LIB_SRCS := $(patsubst %,src/%,$(LIB_SRCS))
 
 LIB_INCLUDES := err.h getopt.h ip_icmp.h random.h queue.h md5.h string.h \
 		bsd.h stdlib.h

Deleted: trunk/libbsd/arc4random.c
===================================================================
--- trunk/libbsd/arc4random.c	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/arc4random.c	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,191 +0,0 @@
-/*
- * Arc4 random number generator for OpenBSD.
- * Copyright 1996 David Mazieres <dm@lcs.mit.edu>.
- *
- * Modification and redistribution in source and binary forms is
- * permitted provided that due credit is given to the author and the
- * OpenBSD project (for instance by leaving this copyright notice
- * intact).
- */
-
-/*
- * This code is derived from section 17.1 of Applied Cryptography,
- * second edition, which describes a stream cipher allegedly
- * compatible with RSA Labs "RC4" cipher (the actual description of
- * which is a trade secret).  The same algorithm is used as a stream
- * cipher called "arcfour" in Tatu Ylonen's ssh package.
- *
- * Here the stream cipher has been modified always to include the time
- * when initializing the state.  That makes it impossible to
- * regenerate the same random sequence twice, so this can't be used
- * for encryption, but will generate good random numbers.
- *
- * RC4 is a registered trademark of RSA Laboratories.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.10 2004/03/24 14:44:57 green Exp $");
-
-#include <sys/types.h>
-#include <sys/time.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-struct arc4_stream {
-	u_int8_t i;
-	u_int8_t j;
-	u_int8_t s[256];
-};
-
-#define	RANDOMDEV	"/dev/urandom"
-#define	THREAD_LOCK()
-#define	THREAD_UNLOCK()
-
-static struct arc4_stream rs;
-static int rs_initialized;
-static int rs_stired;
-
-static inline u_int8_t arc4_getbyte(struct arc4_stream *);
-static void arc4_stir(struct arc4_stream *);
-
-static inline void
-arc4_init(struct arc4_stream *as)
-{
-	int     n;
-
-	for (n = 0; n < 256; n++)
-		as->s[n] = n;
-	as->i = 0;
-	as->j = 0;
-}
-
-static inline void
-arc4_addrandom(struct arc4_stream *as, u_char *dat, int datlen)
-{
-	int     n;
-	u_int8_t si;
-
-	as->i--;
-	for (n = 0; n < 256; n++) {
-		as->i = (as->i + 1);
-		si = as->s[as->i];
-		as->j = (as->j + si + dat[n % datlen]);
-		as->s[as->i] = as->s[as->j];
-		as->s[as->j] = si;
-	}
-}
-
-static void
-arc4_stir(struct arc4_stream *as)
-{
-	int     fd, n;
-	struct {
-		struct timeval tv;
-		pid_t pid;
-		u_int8_t rnd[128 - sizeof(struct timeval) - sizeof(pid_t)];
-	}       rdat;
-
-	gettimeofday(&rdat.tv, NULL);
-	rdat.pid = getpid();
-	fd = open(RANDOMDEV, O_RDONLY, 0);
-	if (fd >= 0) {
-		(void) read(fd, rdat.rnd, sizeof(rdat.rnd));
-		close(fd);
-	} 
-	/* fd < 0?  Ah, what the heck. We'll just take whatever was on the
-	 * stack... */
-
-	arc4_addrandom(as, (void *) &rdat, sizeof(rdat));
-
-	/*
-	 * Throw away the first N bytes of output, as suggested in the
-	 * paper "Weaknesses in the Key Scheduling Algorithm of RC4"
-	 * by Fluher, Mantin, and Shamir.  N=1024 is based on
-	 * suggestions in the paper "(Not So) Random Shuffles of RC4"
-	 * by Ilya Mironov.
-	 */
-	for (n = 0; n < 1024; n++)
-		arc4_getbyte(as);
-}
-
-static inline u_int8_t
-arc4_getbyte(struct arc4_stream *as)
-{
-	u_int8_t si, sj;
-
-	as->i = (as->i + 1);
-	si = as->s[as->i];
-	as->j = (as->j + si);
-	sj = as->s[as->j];
-	as->s[as->i] = sj;
-	as->s[as->j] = si;
-
-	return (as->s[(si + sj) & 0xff]);
-}
-
-static inline u_int32_t
-arc4_getword(struct arc4_stream *as)
-{
-	u_int32_t val;
-
-	val = arc4_getbyte(as) << 24;
-	val |= arc4_getbyte(as) << 16;
-	val |= arc4_getbyte(as) << 8;
-	val |= arc4_getbyte(as);
-
-	return (val);
-}
-
-static void
-arc4_check_init(void)
-{
-	if (!rs_initialized) {
-		arc4_init(&rs);
-		rs_initialized = 1;
-	}
-}
-
-static void
-arc4_check_stir(void)
-{
-	if (!rs_stired) {
-		arc4_stir(&rs);
-		rs_stired = 1;
-	}
-}
-
-u_int32_t
-arc4random()
-{
-	u_int32_t rnd;
-
-	THREAD_LOCK();
-	arc4_check_init();
-	arc4_check_stir();
-	rnd = arc4_getword(&rs);
-	THREAD_UNLOCK();
-
-	return (rnd);
-}
-
-#if 0
-/*-------- Test code for i386 --------*/
-#include <stdio.h>
-#include <machine/pctr.h>
-int
-main(int argc, char **argv)
-{
-	const int iter = 1000000;
-	int     i;
-	pctrval v;
-
-	v = rdtsc();
-	for (i = 0; i < iter; i++)
-		arc4random();
-	v = rdtsc() - v;
-	v /= iter;
-
-	printf("%qd cycles\n", v);
-}
-#endif

Deleted: trunk/libbsd/bsd_getopt.c
===================================================================
--- trunk/libbsd/bsd_getopt.c	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/bsd_getopt.c	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,15 +0,0 @@
-#include <bsd/getopt.h>
-
-int optreset = 0;
-
-int
-bsd_getopt (int argc, char **argv, char *shortopts)
-{
-  if (optreset == 1)
-    {
-      optreset = 0;
-      optind = 0;
-    }
-
-  return getopt (argc, argv, shortopts);
-}

Deleted: trunk/libbsd/err.c
===================================================================
--- trunk/libbsd/err.c	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/err.c	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,63 +0,0 @@
-/* Copyright (C) 2006 Robert Millan
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301, USA.  */
-
-#include <bsd/err.h>
-#include <errno.h>
-#include <stdarg.h>
-
-void
-warnc (int code, const char *format, ...)
-{
-  int tmp = errno;
-  va_list ap;
-  va_start (ap, format);
-
-  errno = code;
-  warn (format, ap);
-  errno = tmp;
-
-  va_end (ap);
-}
-
-void
-vwarnc (int code, const char *format, va_list ap)
-{
-  int tmp = errno;
-
-  errno = code;
-  vwarn (format, ap);
-  errno = tmp;
-}
-
-void
-errc (int status, int code, const char *format, ...)
-{
-  va_list ap;
-  va_start (ap, format);
-
-  errno = code;
-  err (status, format, ap);
-
-  va_end (ap);
-}
-
-void
-verrc (int status, int code, const char *format, va_list ap)
-{
-  errno = code;
-  verr (status, format, ap);
-}

Deleted: trunk/libbsd/fgetln.c
===================================================================
--- trunk/libbsd/fgetln.c	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/fgetln.c	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,28 +0,0 @@
-
-#include <stdio.h>
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <string.h>
-
-#ifdef __GLIBC__
-char *
-fgetln (stream, len)
-	FILE *stream;
-	size_t *len;
-{
-	char *line=NULL;
-	size_t nread = 0;
-
-	while (nread == 1) {
-		nread = getline (&line, len, stream);
-		if (nread == -1)
-			return NULL;
-	}
-
-	(*len)--; /* get rid of the trailing \0, fgetln
-		     does not have it */
-
-	return line;
-}
-#endif
-

Deleted: trunk/libbsd/fmtcheck.c
===================================================================
--- trunk/libbsd/fmtcheck.c	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/fmtcheck.c	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,267 +0,0 @@
-/*-
- * Copyright (c) 2000 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code was contributed to The NetBSD Foundation by Allen Briggs.
- *
- * 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *        This product includes software developed by the NetBSD
- *        Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
- */
-
-/*	$NetBSD: fmtcheck.c,v 1.2 2000/11/01 01:17:20 briggs Exp $	*/
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: /repoman/r/ncvs/src/lib/libc/gen/fmtcheck.c,v 1.8 2005/03/21 08:00:55 das Exp $");
-
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-
-__weak_reference(__fmtcheck, fmtcheck);
-
-enum __e_fmtcheck_types {
-	FMTCHECK_START,
-	FMTCHECK_SHORT,
-	FMTCHECK_INT,
-	FMTCHECK_LONG,
-	FMTCHECK_QUAD,
-	FMTCHECK_PTRDIFFT,
-	FMTCHECK_SIZET,
-	FMTCHECK_SHORTPOINTER,
-	FMTCHECK_INTPOINTER,
-	FMTCHECK_LONGPOINTER,
-	FMTCHECK_QUADPOINTER,
-	FMTCHECK_PTRDIFFTPOINTER,
-	FMTCHECK_SIZETPOINTER,
-#ifndef NO_FLOATING_POINT
-	FMTCHECK_DOUBLE,
-	FMTCHECK_LONGDOUBLE,
-#endif
-	FMTCHECK_STRING,
-	FMTCHECK_WIDTH,
-	FMTCHECK_PRECISION,
-	FMTCHECK_DONE,
-	FMTCHECK_UNKNOWN
-};
-typedef enum __e_fmtcheck_types EFT;
-
-#define RETURN(pf,f,r) do { \
-			*(pf) = (f); \
-			return r; \
-		       } /*NOTREACHED*/ /*CONSTCOND*/ while (0)
-
-static EFT
-get_next_format_from_precision(const char **pf)
-{
-	int		sh, lg, quad, longdouble, ptrdifft, sizet;
-	const char	*f;
-
-	sh = lg = quad = longdouble = ptrdifft = sizet = 0;
-
-	f = *pf;
-	switch (*f) {
-	case 'h':
-		f++;
-		sh = 1;
-		break;
-	case 'l':
-		f++;
-		if (!*f) RETURN(pf,f,FMTCHECK_UNKNOWN);
-		if (*f == 'l') {
-			f++;
-			quad = 1;
-		} else {
-			lg = 1;
-		}
-		break;
-	case 'q':
-		f++;
-		quad = 1;
-		break;
-	case 't':
-		f++;
-		ptrdifft = 1;
-		break;
-	case 'z':
-		f++;
-		sizet = 1;
-		break;
-	case 'L':
-		f++;
-		longdouble = 1;
-		break;
-	default:
-		break;
-	}
-	if (!*f) RETURN(pf,f,FMTCHECK_UNKNOWN);
-	if (strchr("diouxX", *f)) {
-		if (longdouble)
-			RETURN(pf,f,FMTCHECK_UNKNOWN);
-		if (lg)
-			RETURN(pf,f,FMTCHECK_LONG);
-		if (quad)
-			RETURN(pf,f,FMTCHECK_QUAD);
-		if (ptrdifft)
-			RETURN(pf,f,FMTCHECK_PTRDIFFT);
-		if (sizet)
-			RETURN(pf,f,FMTCHECK_SIZET);
-		RETURN(pf,f,FMTCHECK_INT);
-	}
-	if (*f == 'n') {
-		if (longdouble)
-			RETURN(pf,f,FMTCHECK_UNKNOWN);
-		if (sh)
-			RETURN(pf,f,FMTCHECK_SHORTPOINTER);
-		if (lg)
-			RETURN(pf,f,FMTCHECK_LONGPOINTER);
-		if (quad)
-			RETURN(pf,f,FMTCHECK_QUADPOINTER);
-		if (ptrdifft)
-			RETURN(pf,f,FMTCHECK_PTRDIFFTPOINTER);
-		if (sizet)
-			RETURN(pf,f,FMTCHECK_SIZETPOINTER);
-		RETURN(pf,f,FMTCHECK_INTPOINTER);
-	}
-	if (strchr("DOU", *f)) {
-		if (sh + lg + quad + longdouble + ptrdifft + sizet)
-			RETURN(pf,f,FMTCHECK_UNKNOWN);
-		RETURN(pf,f,FMTCHECK_LONG);
-	}
-#ifndef NO_FLOATING_POINT
-	if (strchr("aAeEfFgG", *f)) {
-		if (longdouble)
-			RETURN(pf,f,FMTCHECK_LONGDOUBLE);
-		if (sh + lg + quad + ptrdifft + sizet)
-			RETURN(pf,f,FMTCHECK_UNKNOWN);
-		RETURN(pf,f,FMTCHECK_DOUBLE);
-	}
-#endif
-	if (*f == 'c') {
-		if (sh + lg + quad + longdouble + ptrdifft + sizet)
-			RETURN(pf,f,FMTCHECK_UNKNOWN);
-		RETURN(pf,f,FMTCHECK_INT);
-	}
-	if (*f == 's') {
-		if (sh + lg + quad + longdouble + ptrdifft + sizet)
-			RETURN(pf,f,FMTCHECK_UNKNOWN);
-		RETURN(pf,f,FMTCHECK_STRING);
-	}
-	if (*f == 'p') {
-		if (sh + lg + quad + longdouble + ptrdifft + sizet)
-			RETURN(pf,f,FMTCHECK_UNKNOWN);
-		RETURN(pf,f,FMTCHECK_LONG);
-	}
-	RETURN(pf,f,FMTCHECK_UNKNOWN);
-	/*NOTREACHED*/
-}
-
-static EFT
-get_next_format_from_width(const char **pf)
-{
-	const char	*f;
-
-	f = *pf;
-	if (*f == '.') {
-		f++;
-		if (*f == '*') {
-			RETURN(pf,f,FMTCHECK_PRECISION);
-		}
-		/* eat any precision (empty is allowed) */
-		while (isdigit(*f)) f++;
-		if (!*f) RETURN(pf,f,FMTCHECK_UNKNOWN);
-	}
-	RETURN(pf,f,get_next_format_from_precision(pf));
-	/*NOTREACHED*/
-}
-
-static EFT
-get_next_format(const char **pf, EFT eft)
-{
-	int		infmt;
-	const char	*f;
-
-	if (eft == FMTCHECK_WIDTH) {
-		(*pf)++;
-		return get_next_format_from_width(pf);
-	} else if (eft == FMTCHECK_PRECISION) {
-		(*pf)++;
-		return get_next_format_from_precision(pf);
-	}
-
-	f = *pf;
-	infmt = 0;
-	while (!infmt) {
-		f = strchr(f, '%');
-		if (f == NULL)
-			RETURN(pf,f,FMTCHECK_DONE);
-		f++;
-		if (!*f)
-			RETURN(pf,f,FMTCHECK_UNKNOWN);
-		if (*f != '%')
-			infmt = 1;
-		else
-			f++;
-	}
-
-	/* Eat any of the flags */
-	while (*f && (strchr("#'0- +", *f)))
-		f++;
-
-	if (*f == '*') {
-		RETURN(pf,f,FMTCHECK_WIDTH);
-	}
-	/* eat any width */
-	while (isdigit(*f)) f++;
-	if (!*f) {
-		RETURN(pf,f,FMTCHECK_UNKNOWN);
-	}
-
-	RETURN(pf,f,get_next_format_from_width(pf));
-	/*NOTREACHED*/
-}
-
-__const char *
-__fmtcheck(const char *f1, const char *f2)
-{
-	const char	*f1p, *f2p;
-	EFT		f1t, f2t;
-
-	if (!f1) return f2;
-	
-	f1p = f1;
-	f1t = FMTCHECK_START;
-	f2p = f2;
-	f2t = FMTCHECK_START;
-	while ((f1t = get_next_format(&f1p, f1t)) != FMTCHECK_DONE) {
-		if (f1t == FMTCHECK_UNKNOWN)
-			return f2;
-		f2t = get_next_format(&f2p, f2t);
-		if (f1t != f2t)
-			return f2;
-	}
-	return f1;
-}

Deleted: trunk/libbsd/inet_net_pton.c
===================================================================
--- trunk/libbsd/inet_net_pton.c	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/inet_net_pton.c	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,214 +0,0 @@
-/*
- * Copyright (c) 1996 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static const char orig_rcsid[] = "From Id: inet_net_pton.c,v 1.8 1996/11/21 10:28:12 vixie Exp $";
-#endif
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/inet_net_pton.c,v 1.9 2003/09/15 23:38:06 fenner Exp $");
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifdef SPRINTF_CHAR
-# define SPRINTF(x) strlen(sprintf/**/x)
-#else
-# define SPRINTF(x) ((size_t)sprintf x)
-#endif
-
-static int	inet_net_pton_ipv4(const char *src, u_char *dst, size_t size);
-
-/*
- * static int
- * inet_net_pton(af, src, dst, size)
- *	convert network number from presentation to network format.
- *	accepts hex octets, hex strings, decimal octets, and /CIDR.
- *	"size" is in bytes and describes "dst".
- * return:
- *	number of bits, either imputed classfully or specified with /CIDR,
- *	or -1 if some failure occurred (check errno).  ENOENT means it was
- *	not a valid network specification.
- * author:
- *	Paul Vixie (ISC), June 1996
- */
-int
-inet_net_pton(af, src, dst, size)
-	int af;
-	const char *src;
-	void *dst;
-	size_t size;
-{
-	switch (af) {
-	case AF_INET:
-		return (inet_net_pton_ipv4(src, dst, size));
-	default:
-		errno = EAFNOSUPPORT;
-		return (-1);
-	}
-}
-
-/*
- * static int
- * inet_net_pton_ipv4(src, dst, size)
- *	convert IPv4 network number from presentation to network format.
- *	accepts hex octets, hex strings, decimal octets, and /CIDR.
- *	"size" is in bytes and describes "dst".
- * return:
- *	number of bits, either imputed classfully or specified with /CIDR,
- *	or -1 if some failure occurred (check errno).  ENOENT means it was
- *	not an IPv4 network specification.
- * note:
- *	network byte order assumed.  this means 192.5.5.240/28 has
- *	0x11110000 in its fourth octet.
- * author:
- *	Paul Vixie (ISC), June 1996
- */
-static int
-inet_net_pton_ipv4(src, dst, size)
-	const char *src;
-	u_char *dst;
-	size_t size;
-{
-	static const char
-		xdigits[] = "0123456789abcdef",
-		digits[] = "0123456789";
-	int n, ch, tmp, dirty, bits;
-	const u_char *odst = dst;
-
-	ch = *src++;
-	if (ch == '0' && (src[0] == 'x' || src[0] == 'X')
-	    && isascii(src[1]) && isxdigit(src[1])) {
-		/* Hexadecimal: Eat nybble string. */
-		if (size <= 0)
-			goto emsgsize;
-		*dst = 0, dirty = 0;
-		src++;	/* skip x or X. */
-		while ((ch = *src++) != '\0' &&
-		       isascii(ch) && isxdigit(ch)) {
-			if (isupper(ch))
-				ch = tolower(ch);
-			n = strchr(xdigits, ch) - xdigits;
-			assert(n >= 0 && n <= 15);
-			*dst |= n;
-			if (!dirty++)
-				*dst <<= 4;
-			else if (size-- > 0)
-				*++dst = 0, dirty = 0;
-			else
-				goto emsgsize;
-		}
-		if (dirty)
-			size--;
-	} else if (isascii(ch) && isdigit(ch)) {
-		/* Decimal: eat dotted digit string. */
-		for (;;) {
-			tmp = 0;
-			do {
-				n = strchr(digits, ch) - digits;
-				assert(n >= 0 && n <= 9);
-				tmp *= 10;
-				tmp += n;
-				if (tmp > 255)
-					goto enoent;
-			} while ((ch = *src++) != '\0' &&
-				 isascii(ch) && isdigit(ch));
-			if (size-- <= 0)
-				goto emsgsize;
-			*dst++ = (u_char) tmp;
-			if (ch == '\0' || ch == '/')
-				break;
-			if (ch != '.')
-				goto enoent;
-			ch = *src++;
-			if (!isascii(ch) || !isdigit(ch))
-				goto enoent;
-		}
-	} else
-		goto enoent;
-
-	bits = -1;
-	if (ch == '/' && isascii(src[0]) && isdigit(src[0]) && dst > odst) {
-		/* CIDR width specifier.  Nothing can follow it. */
-		ch = *src++;	/* Skip over the /. */
-		bits = 0;
-		do {
-			n = strchr(digits, ch) - digits;
-			assert(n >= 0 && n <= 9);
-			bits *= 10;
-			bits += n;
-		} while ((ch = *src++) != '\0' && isascii(ch) && isdigit(ch));
-		if (ch != '\0')
-			goto enoent;
-		if (bits > 32)
-			goto emsgsize;
-	}
-
-	/* Firey death and destruction unless we prefetched EOS. */
-	if (ch != '\0')
-		goto enoent;
-
-	/* If nothing was written to the destination, we found no address. */
-	if (dst == odst)
-		goto enoent;
-	/* If no CIDR spec was given, infer width from net class. */
-	if (bits == -1) {
-		if (*odst >= 240)	/* Class E */
-			bits = 32;
-		else if (*odst >= 224)	/* Class D */
-			bits = 4;
-		else if (*odst >= 192)	/* Class C */
-			bits = 24;
-		else if (*odst >= 128)	/* Class B */
-			bits = 16;
-		else			/* Class A */
-			bits = 8;
-		/* If imputed mask is narrower than specified octets, widen. */
-		if (bits < ((dst - odst) * 8))
-			bits = (dst - odst) * 8;
-	}
-	/* Extend network to cover the actual mask. */
-	while (bits > ((dst - odst) * 8)) {
-		if (size-- <= 0)
-			goto emsgsize;
-		*dst++ = '\0';
-	}
-	return (bits);
-
- enoent:
-	errno = ENOENT;
-	return (-1);
-
- emsgsize:
-	errno = EMSGSIZE;
-	return (-1);
-}
-
-/*
- * Weak aliases for applications that use certain private entry points,
- * and fail to include <arpa/inet.h>.
- */
-#undef inet_net_pton
-//__weak_reference(__inet_net_pton, inet_net_pton);

Deleted: trunk/libbsd/md5.copyright
===================================================================
--- trunk/libbsd/md5.copyright	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/md5.copyright	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,21 +0,0 @@
-.\" $FreeBSD: src/lib/libmd/md5.copyright,v 1.5 1999/08/28 00:05:06 peter Exp $
-Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-rights reserved.
-.Pp
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-.Pp
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD5 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-.Pp
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-.Pp
-These notices must be retained in any copies of any part of this
-documentation and/or software.

Deleted: trunk/libbsd/md5c.c
===================================================================
--- trunk/libbsd/md5c.c	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/md5c.c	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,336 +0,0 @@
-/*
- * MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm
- *
- * Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
- * rights reserved.
- *
- * License to copy and use this software is granted provided that it
- * is identified as the "RSA Data Security, Inc. MD5 Message-Digest
- * Algorithm" in all material mentioning or referencing this software
- * or this function.
- *
- * License is also granted to make and use derivative works provided
- * that such works are identified as "derived from the RSA Data
- * Security, Inc. MD5 Message-Digest Algorithm" in all material
- * mentioning or referencing the derived work.
- *
- * RSA Data Security, Inc. makes no representations concerning either
- * the merchantability of this software or the suitability of this
- * software for any particular purpose. It is provided "as is"
- * without express or implied warranty of any kind.
- *
- * These notices must be retained in any copies of any part of this
- * documentation and/or software.
- *
- * This code is the same as the code published by RSA Inc.  It has been
- * edited for clarity and style only.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libmd/md5c.c,v 1.16 2003/06/05 13:17:32 markm Exp $");
-
-#include <sys/types.h>
-
-#ifdef _KERNEL
-#include <sys/systm.h>
-#else
-#include <string.h>
-#endif
-
-//#include <machine/endian.h>
-//#include <sys/endian.h>
-#include <bsd/md5.h>
-
-static void MD5Transform(u_int32_t [4], const unsigned char [64]);
-
-#ifdef _KERNEL
-#define memset(x,y,z)	bzero(x,z);
-#define memcpy(x,y,z)	bcopy(y, x, z)
-#endif
-
-#if (BYTE_ORDER == LITTLE_ENDIAN)
-#define Encode memcpy
-#define Decode memcpy
-#else 
-
-/*
- * Encodes input (u_int32_t) into output (unsigned char). Assumes len is
- * a multiple of 4.
- */
-
-static void
-Encode (unsigned char *output, u_int32_t *input, unsigned int len)
-{
-	unsigned int i;
-	u_int32_t *op = (u_int32_t *)output;
-
-	for (i = 0; i < len / 4; i++)
-		op[i] = htole32(input[i]);
-}
-
-/*
- * Decodes input (unsigned char) into output (u_int32_t). Assumes len is
- * a multiple of 4.
- */
-
-static void
-Decode (u_int32_t *output, const unsigned char *input, unsigned int len)
-{
-	unsigned int i;
-	const u_int32_t *ip = (const u_int32_t *)input;
-
-	for (i = 0; i < len / 4; i++)
-		output[i] = le32toh(ip[i]);
-}
-#endif
-
-static unsigned char PADDING[64] = {
-  0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-/* F, G, H and I are basic MD5 functions. */
-#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
-#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-#define I(x, y, z) ((y) ^ ((x) | (~z)))
-
-/* ROTATE_LEFT rotates x left n bits. */
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-
-/*
- * FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
- * Rotation is separate from addition to prevent recomputation.
- */
-#define FF(a, b, c, d, x, s, ac) { \
-	(a) += F ((b), (c), (d)) + (x) + (u_int32_t)(ac); \
-	(a) = ROTATE_LEFT ((a), (s)); \
-	(a) += (b); \
-	}
-#define GG(a, b, c, d, x, s, ac) { \
-	(a) += G ((b), (c), (d)) + (x) + (u_int32_t)(ac); \
-	(a) = ROTATE_LEFT ((a), (s)); \
-	(a) += (b); \
-	}
-#define HH(a, b, c, d, x, s, ac) { \
-	(a) += H ((b), (c), (d)) + (x) + (u_int32_t)(ac); \
-	(a) = ROTATE_LEFT ((a), (s)); \
-	(a) += (b); \
-	}
-#define II(a, b, c, d, x, s, ac) { \
-	(a) += I ((b), (c), (d)) + (x) + (u_int32_t)(ac); \
-	(a) = ROTATE_LEFT ((a), (s)); \
-	(a) += (b); \
-	}
-
-/* MD5 initialization. Begins an MD5 operation, writing a new context. */
-
-void
-MD5Init (context)
-	MD5_CTX *context;
-{
-
-	context->count[0] = context->count[1] = 0;
-
-	/* Load magic initialization constants.  */
-	context->state[0] = 0x67452301;
-	context->state[1] = 0xefcdab89;
-	context->state[2] = 0x98badcfe;
-	context->state[3] = 0x10325476;
-}
-
-/* 
- * MD5 block update operation. Continues an MD5 message-digest
- * operation, processing another message block, and updating the
- * context.
- */
-
-void
-MD5Update (context, input, inputLen)
-	MD5_CTX *context;
-	const unsigned char *input;
-	unsigned int inputLen;
-{
-	unsigned int i, idx, partLen;
-
-	/* Compute number of bytes mod 64 */
-	idx = (unsigned int)((context->count[0] >> 3) & 0x3F);
-
-	/* Update number of bits */
-	if ((context->count[0] += ((u_int32_t)inputLen << 3))
-	    < ((u_int32_t)inputLen << 3))
-		context->count[1]++;
-	context->count[1] += ((u_int32_t)inputLen >> 29);
-
-	partLen = 64 - idx;
-
-	/* Transform as many times as possible. */
-	if (inputLen >= partLen) {
-		memcpy((void *)&context->buffer[idx], (const void *)input,
-		    partLen);
-		MD5Transform (context->state, context->buffer);
-
-		for (i = partLen; i + 63 < inputLen; i += 64)
-			MD5Transform (context->state, &input[i]);
-
-		idx = 0;
-	}
-	else
-		i = 0;
-
-	/* Buffer remaining input */
-	memcpy ((void *)&context->buffer[idx], (const void *)&input[i],
-	    inputLen-i);
-}
-
-/*
- * MD5 padding. Adds padding followed by original length.
- */
-
-void
-MD5Pad (context)
-	MD5_CTX *context;
-{
-	unsigned char bits[8];
-	unsigned int idx, padLen;
-
-	/* Save number of bits */
-	Encode (bits, context->count, 8);
-
-	/* Pad out to 56 mod 64. */
-	idx = (unsigned int)((context->count[0] >> 3) & 0x3f);
-	padLen = (idx < 56) ? (56 - idx) : (120 - idx);
-	MD5Update (context, PADDING, padLen);
-
-	/* Append length (before padding) */
-	MD5Update (context, bits, 8);
-}
-
-/*
- * MD5 finalization. Ends an MD5 message-digest operation, writing the
- * the message digest and zeroizing the context.
- */
-
-void
-MD5Final (digest, context)
-	unsigned char digest[16];
-	MD5_CTX *context;
-{
-	/* Do padding. */
-	MD5Pad (context);
-
-	/* Store state in digest */
-	Encode (digest, context->state, 16);
-
-	/* Zeroize sensitive information. */
-	memset ((void *)context, 0, sizeof (*context));
-}
-
-/* MD5 basic transformation. Transforms state based on block. */
-
-static void
-MD5Transform (state, block)
-	u_int32_t state[4];
-	const unsigned char block[64];
-{
-	u_int32_t a = state[0], b = state[1], c = state[2], d = state[3], x[16];
-
-	Decode (x, block, 64);
-
-	/* Round 1 */
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
-	FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
-	FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
-	FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
-	FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
-	FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
-	FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
-	FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
-	FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
-	FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
-	FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
-	FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
-	FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
-	FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
-	FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
-	FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
-	FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
-
-	/* Round 2 */
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
-	GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
-	GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
-	GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
-	GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
-	GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
-	GG (d, a, b, c, x[10], S22,  0x2441453); /* 22 */
-	GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
-	GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
-	GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
-	GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
-	GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
-	GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
-	GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
-	GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
-	GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
-	GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
-
-	/* Round 3 */
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
-	HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
-	HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
-	HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
-	HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
-	HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
-	HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
-	HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
-	HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
-	HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
-	HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
-	HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
-	HH (b, c, d, a, x[ 6], S34,  0x4881d05); /* 44 */
-	HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
-	HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
-	HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
-	HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
-
-	/* Round 4 */
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
-	II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
-	II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
-	II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
-	II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
-	II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
-	II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
-	II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
-	II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
-	II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
-	II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
-	II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
-	II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
-	II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
-	II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
-	II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
-	II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
-
-	state[0] += a;
-	state[1] += b;
-	state[2] += c;
-	state[3] += d;
-
-	/* Zeroize sensitive information. */
-	memset ((void *)x, 0, sizeof (x));
-}

Copied: trunk/libbsd/src/arc4random.c (from rev 1187, trunk/libbsd/arc4random.c)

Copied: trunk/libbsd/src/bsd_getopt.c (from rev 1187, trunk/libbsd/bsd_getopt.c)

Copied: trunk/libbsd/src/err.c (from rev 1187, trunk/libbsd/err.c)

Copied: trunk/libbsd/src/fgetln.c (from rev 1187, trunk/libbsd/fgetln.c)

Copied: trunk/libbsd/src/fmtcheck.c (from rev 1187, trunk/libbsd/fmtcheck.c)

Copied: trunk/libbsd/src/inet_net_pton.c (from rev 1187, trunk/libbsd/inet_net_pton.c)

Copied: trunk/libbsd/src/md5.copyright (from rev 1187, trunk/libbsd/md5.copyright)

Copied: trunk/libbsd/src/md5c.c (from rev 1187, trunk/libbsd/md5c.c)

Copied: trunk/libbsd/src/strlcat.c (from rev 1187, trunk/libbsd/strlcat.c)

Copied: trunk/libbsd/src/strlcpy.c (from rev 1187, trunk/libbsd/strlcpy.c)

Deleted: trunk/libbsd/strlcat.c
===================================================================
--- trunk/libbsd/strlcat.c	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/strlcat.c	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,74 +0,0 @@
-/*	$OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $	*/
-
-/*
- * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
- * 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. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``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 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.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $");
-#endif /* LIBC_SCCS and not lint */
-#include <sys/cdefs.h>
-
-#include <sys/types.h>
-#include <string.h>
-
-/*
- * Appends src to string dst of size siz (unlike strncat, siz is the
- * full size of dst, not space left).  At most siz-1 characters
- * will be copied.  Always NUL terminates (unless siz <= strlen(dst)).
- * Returns strlen(src) + MIN(siz, strlen(initial dst)).
- * If retval >= siz, truncation occurred.
- */
-size_t
-strlcat(dst, src, siz)
-	char *dst;
-	const char *src;
-	size_t siz;
-{
-	char *d = dst;
-	const char *s = src;
-	size_t n = siz;
-	size_t dlen;
-
-	/* Find the end of dst and adjust bytes left but don't go past end */
-	while (n-- != 0 && *d != '\0')
-		d++;
-	dlen = d - dst;
-	n = siz - dlen;
-
-	if (n == 0)
-		return(dlen + strlen(s));
-	while (*s != '\0') {
-		if (n != 1) {
-			*d++ = *s;
-			n--;
-		}
-		s++;
-	}
-	*d = '\0';
-
-	return(dlen + (s - src));	/* count does not include NUL */
-}

Deleted: trunk/libbsd/strlcpy.c
===================================================================
--- trunk/libbsd/strlcpy.c	2006-02-14 05:33:38 UTC (rev 1192)
+++ trunk/libbsd/strlcpy.c	2006-02-14 05:39:29 UTC (rev 1193)
@@ -1,69 +0,0 @@
-/*	$OpenBSD: strlcpy.c,v 1.4 1999/05/01 18:56:41 millert Exp $	*/
-
-/*
- * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
- * 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. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``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 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.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: strlcpy.c,v 1.4 1999/05/01 18:56:41 millert Exp $");
-#endif /* LIBC_SCCS and not lint */
-#include <sys/cdefs.h>
-
-#include <sys/types.h>
-#include <string.h>
-
-/*
- * Copy src to string dst of size siz.  At most siz-1 characters
- * will be copied.  Always NUL terminates (unless siz == 0).
- * Returns strlen(src); if retval >= siz, truncation occurred.
- */
-size_t strlcpy(dst, src, siz)
-	char *dst;
-	const char *src;
-	size_t siz;
-{
-	char *d = dst;
-	const char *s = src;
-	size_t n = siz;
-
-	/* Copy as many bytes as will fit */
-	if (n != 0 && --n != 0) {
-		do {
-			if ((*d++ = *s++) == 0)
-				break;
-		} while (--n != 0);
-	}
-
-	/* Not enough room in dst, add NUL and traverse rest of src */
-	if (n == 0) {
-		if (siz != 0)
-			*d = '\0';		/* NUL-terminate dst */
-		while (*s++)
-			;
-	}
-
-	return(s - src - 1);	/* count does not include NUL */
-}



Reply to: