Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 May 2004 14:11:42 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 52950 for review
Message-ID:  <200405172111.i4HLBgrc071126@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=52950

Change 52950 by peter@peter_hammer on 2004/05/17 14:11:13

	IFC @52946

Affected files ...

.. //depot/projects/hammer/Makefile.inc1#52 integrate
.. //depot/projects/hammer/lib/libc/gen/getpwent.3#7 integrate
.. //depot/projects/hammer/lib/libc/gen/getpwent.c#12 integrate
.. //depot/projects/hammer/lib/libc/locale/big5.c#7 integrate
.. //depot/projects/hammer/lib/libc/locale/gbk.c#8 integrate
.. //depot/projects/hammer/lib/libc/locale/utf8.c#7 integrate
.. //depot/projects/hammer/lib/msun/bsdsrc/b_exp.c#2 integrate
.. //depot/projects/hammer/lib/msun/bsdsrc/mathimpl.h#2 integrate
.. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#68 integrate
.. //depot/projects/hammer/sbin/bsdlabel/bsdlabel.8#7 integrate
.. //depot/projects/hammer/sbin/conscontrol/conscontrol.8#3 integrate
.. //depot/projects/hammer/sbin/dump/dump.8#11 integrate
.. //depot/projects/hammer/sbin/fsck_msdosfs/fsck_msdosfs.8#5 integrate
.. //depot/projects/hammer/sbin/gbde/gbde.8#6 integrate
.. //depot/projects/hammer/sbin/ifconfig/ifconfig.8#14 integrate
.. //depot/projects/hammer/sbin/init/init.8#9 integrate
.. //depot/projects/hammer/sbin/md5/md5.1#3 integrate
.. //depot/projects/hammer/sbin/mdconfig/mdconfig.8#13 integrate
.. //depot/projects/hammer/sbin/mdmfs/mdmfs.8#10 integrate
.. //depot/projects/hammer/sbin/mdmfs/mdmfs.c#11 integrate
.. //depot/projects/hammer/sbin/mknod/mknod.8#7 integrate
.. //depot/projects/hammer/sbin/mount/mount.8#12 integrate
.. //depot/projects/hammer/sbin/mount_cd9660/mount_cd9660.8#5 integrate
.. //depot/projects/hammer/sbin/mount_msdosfs/mount_msdosfs.8#6 integrate
.. //depot/projects/hammer/sbin/mount_ntfs/mount_ntfs.8#4 integrate
.. //depot/projects/hammer/sbin/newfs/newfs.8#10 integrate
.. //depot/projects/hammer/sbin/ping6/ping6.8#3 integrate
.. //depot/projects/hammer/sbin/restore/restore.8#7 integrate
.. //depot/projects/hammer/sbin/route/route.8#5 integrate
.. //depot/projects/hammer/sbin/routed/routed.8#4 integrate
.. //depot/projects/hammer/share/man/man4/man4.i386/Makefile#21 integrate
.. //depot/projects/hammer/share/man/man4/ng_ether.4#4 integrate
.. //depot/projects/hammer/share/man/man4/ng_one2many.4#6 integrate
.. //depot/projects/hammer/share/man/man4/smb.4#2 integrate
.. //depot/projects/hammer/sys/boot/common/loader.8#10 integrate
.. //depot/projects/hammer/sys/boot/forth/loader.conf.5#4 integrate
.. //depot/projects/hammer/sys/conf/files.alpha#13 integrate
.. //depot/projects/hammer/sys/conf/files.amd64#46 integrate
.. //depot/projects/hammer/sys/conf/files.i386#31 integrate
.. //depot/projects/hammer/sys/conf/files.ia64#18 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-lowlevel.c#14 integrate
.. //depot/projects/hammer/sys/dev/ciss/ciss.c#21 integrate
.. //depot/projects/hammer/sys/dev/ciss/cissreg.h#6 integrate
.. //depot/projects/hammer/sys/dev/fdc/fdc.c#1 branch
.. //depot/projects/hammer/sys/dev/fdc/fdcreg.h#1 branch
.. //depot/projects/hammer/sys/dev/puc/pucdata.c#15 integrate
.. //depot/projects/hammer/sys/dev/smbus/smb.c#7 integrate
.. //depot/projects/hammer/sys/dev/twa/twa.h#3 integrate
.. //depot/projects/hammer/sys/dev/twa/twa_cam.c#3 integrate
.. //depot/projects/hammer/sys/dev/twa/twa_freebsd.c#4 integrate
.. //depot/projects/hammer/sys/fs/fifofs/fifo_vnops.c#16 integrate
.. //depot/projects/hammer/sys/i386/conf/NOTES#41 integrate
.. //depot/projects/hammer/sys/ia64/conf/NOTES#2 integrate
.. //depot/projects/hammer/sys/ia64/ia64/elf_machdep.c#15 integrate
.. //depot/projects/hammer/sys/isa/fd.c#17 delete
.. //depot/projects/hammer/sys/isa/fdreg.h#3 delete
.. //depot/projects/hammer/sys/kern/link_elf_obj.c#35 integrate
.. //depot/projects/hammer/sys/modules/Makefile#45 integrate
.. //depot/projects/hammer/sys/modules/fdc/Makefile#3 integrate
.. //depot/projects/hammer/usr.bin/tar/bsdtar.1#4 integrate
.. //depot/projects/hammer/usr.bin/tar/bsdtar.c#4 integrate
.. //depot/projects/hammer/usr.bin/tar/bsdtar.h#4 integrate
.. //depot/projects/hammer/usr.bin/tar/matching.c#3 integrate
.. //depot/projects/hammer/usr.bin/tar/read.c#4 integrate
.. //depot/projects/hammer/usr.bin/tar/util.c#4 integrate
.. //depot/projects/hammer/usr.bin/tar/write.c#6 integrate
.. //depot/projects/hammer/usr.sbin/Makefile#48 integrate
.. //depot/projects/hammer/usr.sbin/smbmsg/Makefile#1 branch
.. //depot/projects/hammer/usr.sbin/smbmsg/pathnames.h#1 branch
.. //depot/projects/hammer/usr.sbin/smbmsg/smbmsg.8#1 branch
.. //depot/projects/hammer/usr.sbin/smbmsg/smbmsg.c#1 branch

Differences ...

==== //depot/projects/hammer/Makefile.inc1#52 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.426 2004/05/13 07:51:46 ru Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.427 2004/05/17 16:19:51 ru Exp $
 #
 # Make command line options:
 #	-DNO_DYNAMICROOT do not link /bin and /sbin dynamically
@@ -111,7 +111,7 @@
 .else
 _TARGET_CPUTYPE=dummy
 .endif
-_CPUTYPE!=	${MAKE} -f /dev/null -m ${.CURDIR}/share/mk \
+_CPUTYPE!=	MAKEFLAGS= ${MAKE} -f /dev/null -m ${.CURDIR}/share/mk \
 		CPUTYPE=${_TARGET_CPUTYPE} -V CPUTYPE
 .if ${_CPUTYPE} != ${_TARGET_CPUTYPE}
 .error CPUTYPE global should be set with ?=.

==== //depot/projects/hammer/lib/libc/gen/getpwent.3#7 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     From: @(#)getpwent.3	8.2 (Berkeley) 12/11/93
-.\" $FreeBSD: src/lib/libc/gen/getpwent.3,v 1.25 2003/09/08 19:57:14 ru Exp $
+.\" $FreeBSD: src/lib/libc/gen/getpwent.3,v 1.26 2004/05/17 18:27:05 kientzle Exp $
 .\"
 .Dd April 16, 2003
 .Dt GETPWENT 3
@@ -185,9 +185,13 @@
 or
 .Dv NULL
 if the entry is not found or if an error occurs.
-In the latter case,
+If an error does occur,
 .Va errno
 will be set.
+Note that programs must explicitly set
+.Va errno
+to zero before calling any of these functions if they need to
+distinguish between a non-existent entry and an error.
 The functions
 .Fn getpwent_r ,
 .Fn getpwnam_r ,

==== //depot/projects/hammer/lib/libc/gen/getpwent.c#12 (text+ko) ====

@@ -31,7 +31,7 @@
  *
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/getpwent.c,v 1.87 2004/04/21 21:15:08 jon Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/getpwent.c,v 1.89 2004/05/17 18:27:05 kientzle Exp $");
 
 #include "namespace.h"
 #include <sys/param.h>
@@ -379,6 +379,7 @@
 			free(pwd_storage);
 			if ((pwd_storage_size << 1) > PWD_STORAGE_MAX) {
 				pwd_storage = NULL;
+				errno = ERANGE;
 				return (NULL);
 			}
 			pwd_storage_size <<= 1;
@@ -387,6 +388,8 @@
 				return (NULL);
 		}
 	} while (res == NULL && rv == ERANGE);
+	if (rv != 0)
+		errno = rv;
 	return (res);
 }
 

==== //depot/projects/hammer/lib/libc/locale/big5.c#7 (text+ko) ====

@@ -39,7 +39,7 @@
 static char sccsid[] = "@(#)big5.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/param.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.15 2004/05/13 03:08:28 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.16 2004/05/17 11:16:14 tjr Exp $");
 
 #include <errno.h>
 #include <runetype.h>
@@ -55,8 +55,7 @@
 size_t	_BIG5_wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict);
 
 typedef struct {
-	int	count;
-	u_char	bytes[2];
+	wchar_t	ch;
 } _BIG5State;
 
 int
@@ -75,7 +74,7 @@
 _BIG5_mbsinit(const mbstate_t *ps)
 {
 
-	return (ps == NULL || ((const _BIG5State *)ps)->count == 0);
+	return (ps == NULL || ((const _BIG5State *)ps)->ch == 0);
 }
 
 static __inline int
@@ -92,12 +91,12 @@
 {
 	_BIG5State *bs;
 	wchar_t wc;
-	int i, len, ocount;
-	size_t ncopy;
+	size_t len;
 
 	bs = (_BIG5State *)ps;
 
-	if (bs->count < 0 || bs->count > sizeof(bs->bytes)) {
+	if ((bs->ch & ~0xFF) != 0) {
+		/* Bad conversion state. */
 		errno = EINVAL;
 		return ((size_t)-1);
 	}
@@ -108,28 +107,43 @@
 		pwc = NULL;
 	}
 
-	ncopy = MIN(MIN(n, MB_CUR_MAX), sizeof(bs->bytes) - bs->count);
-	memcpy(bs->bytes + bs->count, s, ncopy);
-	ocount = bs->count;
-	bs->count += ncopy;
-	s = (char *)bs->bytes;
-	n = bs->count;
-
-	if (n == 0 || (size_t)(len = _big5_check(*s)) > n)
+	if (n == 0)
 		/* Incomplete multibyte sequence */
 		return ((size_t)-2);
-	if (len == 2 && s[1] == '\0') {
-		errno = EILSEQ;
-		return ((size_t)-1);
+
+	if (bs->ch != 0) {
+		if (*s == '\0') {
+			errno = EILSEQ;
+			return ((size_t)-1);
+		}
+		wc = (bs->ch << 8) | (*s & 0xFF);
+		if (pwc != NULL)
+			*pwc = wc;
+		bs->ch = 0;
+		return (1);
+	}
+
+	len = (size_t)_big5_check(*s);
+	wc = *s++ & 0xff;
+	if (len == 2) {
+		if (n < 2) {
+			/* Incomplete multibyte sequence */
+			bs->ch = wc;
+			return ((size_t)-2);
+		}
+		if (*s == '\0') {
+			errno = EILSEQ;
+			return ((size_t)-1);
+		}
+		wc = (wc << 8) | (*s++ & 0xff);
+		if (pwc != NULL)
+			*pwc = wc;
+                return (2);
+	} else {
+		if (pwc != NULL)
+			*pwc = wc;
+		return (wc == L'\0' ? 0 : 1);
 	}
-	wc = 0;
-	i = len;
-	while (i-- > 0)
-		wc = (wc << 8) | (unsigned char)*s++;
-	if (pwc != NULL)
-		*pwc = wc;
-	bs->count = 0;
-	return (wc == L'\0' ? 0 : len - ocount);
 }
 
 size_t
@@ -139,7 +153,7 @@
 
 	bs = (_BIG5State *)ps;
 
-	if (bs->count != 0) {
+	if (bs->ch != 0) {
 		errno = EINVAL;
 		return ((size_t)-1);
 	}

==== //depot/projects/hammer/lib/libc/locale/gbk.c#8 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/param.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.10 2004/05/13 03:08:28 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.11 2004/05/17 11:16:14 tjr Exp $");
 
 #include <errno.h>
 #include <runetype.h>
@@ -52,8 +52,7 @@
 size_t	_GBK_wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict);
 
 typedef struct {
-	int	count;
-	u_char	bytes[2];
+	wchar_t	ch;
 } _GBKState;
 
 int
@@ -72,7 +71,7 @@
 _GBK_mbsinit(const mbstate_t *ps)
 {
 
-	return (ps == NULL || ((const _GBKState *)ps)->count == 0);
+	return (ps == NULL || ((const _GBKState *)ps)->ch == 0);
 }
 
 static __inline int
@@ -89,12 +88,12 @@
 {
 	_GBKState *gs;
 	wchar_t wc;
-	int i, len, ocount;
-        size_t ncopy;
+	size_t len;
 
 	gs = (_GBKState *)ps;
 
-	if (gs->count < 0 || gs->count > sizeof(gs->bytes)) {
+	if ((gs->ch & ~0xFF) != 0) {
+		/* Bad conversion state. */
 		errno = EINVAL;
 		return ((size_t)-1);
 	}
@@ -105,28 +104,43 @@
 		pwc = NULL;
 	}
 
-	ncopy = MIN(MIN(n, MB_CUR_MAX), sizeof(gs->bytes) - gs->count);
-	memcpy(gs->bytes + gs->count, s, ncopy);
-	ocount = gs->count;
-	gs->count += ncopy;
-	s = (char *)gs->bytes;
-	n = gs->count;
-
-	if (n == 0 || (size_t)(len = _gbk_check(*s)) > n)
+	if (n == 0)
 		/* Incomplete multibyte sequence */
 		return ((size_t)-2);
-	if (len == 2 && s[1] == '\0') {
-		errno = EILSEQ;
-		return ((size_t)-1);
+
+	if (gs->ch != 0) {
+		if (*s == '\0') {
+			errno = EILSEQ;
+			return ((size_t)-1);
+		}
+		wc = (gs->ch << 8) | (*s & 0xFF);
+		if (pwc != NULL)
+			*pwc = wc;
+		gs->ch = 0;
+		return (1);
+	}
+
+	len = (size_t)_gbk_check(*s);
+	wc = *s++ & 0xff;
+	if (len == 2) {
+		if (n < 2) {
+			/* Incomplete multibyte sequence */
+			gs->ch = wc;
+			return ((size_t)-2);
+		}
+		if (*s == '\0') {
+			errno = EILSEQ;
+			return ((size_t)-1);
+		}
+		wc = (wc << 8) | (*s++ & 0xff);
+		if (pwc != NULL)
+			*pwc = wc;
+                return (2);
+	} else {
+		if (pwc != NULL)
+			*pwc = wc;
+		return (wc == L'\0' ? 0 : 1);
 	}
-	wc = 0;
-	i = len;
-	while (i-- > 0)
-		wc = (wc << 8) | (unsigned char)*s++;
-	if (pwc != NULL)
-		*pwc = wc;
-	gs->count = 0;
-	return (wc == L'\0' ? 0 : len - ocount);
 }
 
 size_t
@@ -136,7 +150,7 @@
 
 	gs = (_GBKState *)ps;
 
-	if (gs->count != 0) {
+	if (gs->ch != 0) {
 		errno = EINVAL;
 		return ((size_t)-1);
 	}

==== //depot/projects/hammer/lib/libc/locale/utf8.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/param.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/utf8.c,v 1.8 2004/05/12 14:09:04 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/utf8.c,v 1.9 2004/05/17 12:32:40 tjr Exp $");
 
 #include <errno.h>
 #include <runetype.h>
@@ -40,8 +40,9 @@
 size_t	_UTF8_wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict);
 
 typedef struct {
-	int	count;
-	u_char	bytes[6];
+	wchar_t	ch;
+	int	want;
+	wchar_t	lbound;
 } _UTF8State;
 
 int
@@ -61,7 +62,7 @@
 _UTF8_mbsinit(const mbstate_t *ps)
 {
 
-	return (ps == NULL || ((const _UTF8State *)ps)->count == 0);
+	return (ps == NULL || ((const _UTF8State *)ps)->want == 0);
 }
 
 size_t
@@ -69,13 +70,12 @@
     mbstate_t * __restrict ps)
 {
 	_UTF8State *us;
-	int ch, i, len, mask, ocount;
+	int ch, i, mask, want;
 	wchar_t lbound, wch;
-	size_t ncopy;
 
 	us = (_UTF8State *)ps;
 
-	if (us->count < 0 || us->count > sizeof(us->bytes)) {
+	if (us->want < 0 || us->want > 6) {
 		errno = EINVAL;
 		return ((size_t)-1);
 	}
@@ -86,72 +86,69 @@
 		pwc = NULL;
 	}
 
-	ncopy = MIN(MIN(n, MB_CUR_MAX), sizeof(us->bytes) - us->count);
-	memcpy(us->bytes + us->count, s, ncopy);
-	ocount = us->count;
-	us->count += ncopy;
-	s = (char *)us->bytes;
-	n = us->count;
-
 	if (n == 0)
 		/* Incomplete multibyte sequence */
 		return ((size_t)-2);
 
-	/*
-	 * Determine the number of octets that make up this character from
-	 * the first octet, and a mask that extracts the interesting bits of
-	 * the first octet.
-	 *
-	 * We also specify a lower bound for the character code to detect
-	 * redundant, non-"shortest form" encodings. For example, the
-	 * sequence C0 80 is _not_ a legal representation of the null
-	 * character. This enforces a 1-to-1 mapping between character
-	 * codes and their multibyte representations.
-	 */
-	ch = (unsigned char)*s;
-	if ((ch & 0x80) == 0) {
-		mask = 0x7f;
-		len = 1;
-		lbound = 0;
-	} else if ((ch & 0xe0) == 0xc0) {
-		mask = 0x1f;
-		len = 2;
-		lbound = 0x80;
-	} else if ((ch & 0xf0) == 0xe0) {
-		mask = 0x0f;
-		len = 3;
-		lbound = 0x800;
-	} else if ((ch & 0xf8) == 0xf0) {
-		mask = 0x07;
-		len = 4;
-		lbound = 0x10000;
-	} else if ((ch & 0xfc) == 0xf8) {
-		mask = 0x03;
-		len = 5;
-		lbound = 0x200000;
-	} else if ((ch & 0xfc) == 0xfc) {
-		mask = 0x01;
-		len = 6;
-		lbound = 0x4000000;
-	} else {
+	if (us->want == 0) {
 		/*
-		 * Malformed input; input is not UTF-8.
+		 * Determine the number of octets that make up this character
+		 * from the first octet, and a mask that extracts the
+		 * interesting bits of the first octet. We already know
+		 * the character is at least two bytes long.
+		 *
+		 * We also specify a lower bound for the character code to
+		 * detect redundant, non-"shortest form" encodings. For
+		 * example, the sequence C0 80 is _not_ a legal representation
+		 * of the null character. This enforces a 1-to-1 mapping
+		 * between character codes and their multibyte representations.
 		 */
-		errno = EILSEQ;
-		return ((size_t)-1);
+		ch = (unsigned char)*s;
+		if ((ch & 0x80) == 0) {
+			mask = 0x7f;
+			want = 1;
+			lbound = 0;
+		} else if ((ch & 0xe0) == 0xc0) {
+			mask = 0x1f;
+			want = 2;
+			lbound = 0x80;
+		} else if ((ch & 0xf0) == 0xe0) {
+			mask = 0x0f;
+			want = 3;
+			lbound = 0x800;
+		} else if ((ch & 0xf8) == 0xf0) {
+			mask = 0x07;
+			want = 4;
+			lbound = 0x10000;
+		} else if ((ch & 0xfc) == 0xf8) {
+			mask = 0x03;
+			want = 5;
+			lbound = 0x200000;
+		} else if ((ch & 0xfc) == 0xfc) {
+			mask = 0x01;
+			want = 6;
+			lbound = 0x4000000;
+		} else {
+			/*
+			 * Malformed input; input is not UTF-8.
+			 */
+			errno = EILSEQ;
+			return ((size_t)-1);
+		}
+	} else {
+		want = us->want;
+		lbound = us->lbound;
 	}
 
-	if (n < (size_t)len)
-		/* Incomplete multibyte sequence */
-		return ((size_t)-2);
-
 	/*
 	 * Decode the octet sequence representing the character in chunks
 	 * of 6 bits, most significant first.
 	 */
-	wch = (unsigned char)*s++ & mask;
-	i = len;
-	while (--i != 0) {
+	if (us->want == 0)
+		wch = (unsigned char)*s++ & mask;
+	else
+		wch = us->ch;
+	for (i = (us->want == 0) ? 1 : 0; i < MIN(want, n); i++) {
 		if ((*s & 0xc0) != 0x80) {
 			/*
 			 * Malformed input; bad characters in the middle
@@ -163,6 +160,13 @@
 		wch <<= 6;
 		wch |= *s++ & 0x3f;
 	}
+	if (i < want) {
+		/* Incomplete multibyte sequence. */
+		us->want = want - i;
+		us->lbound = lbound;
+		us->ch = wch;
+		return ((size_t)-2);
+	}
 	if (wch < lbound) {
 		/*
 		 * Malformed input; redundant encoding.
@@ -172,8 +176,8 @@
 	}
 	if (pwc != NULL)
 		*pwc = wch;
-	us->count = 0;
-	return (wch == L'\0' ? 0 : len - ocount);
+	us->want = 0;
+	return (wch == L'\0' ? 0 : want);
 }
 
 size_t
@@ -185,7 +189,7 @@
 
 	us = (_UTF8State *)ps;
 
-	if (us->count < 0 || us->count > sizeof(us->bytes)) {
+	if (us->want != 0) {
 		errno = EINVAL;
 		return ((size_t)-1);
 	}

==== //depot/projects/hammer/lib/msun/bsdsrc/b_exp.c#2 (text+ko) ====

@@ -35,7 +35,7 @@
 static char sccsid[] = "@(#)exp.c	8.1 (Berkeley) 6/4/93";
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/msun/bsdsrc/b_exp.c,v 1.5 2002/03/26 11:59:29 bde Exp $");
+__FBSDID("$FreeBSD: src/lib/msun/bsdsrc/b_exp.c,v 1.6 2004/05/17 01:04:37 das Exp $");
 
 
 /* EXP(X)
@@ -72,50 +72,20 @@
  *	exp(x) returns the exponential of x nearly rounded. In a test run
  *	with 1,156,000 random arguments on a VAX, the maximum observed
  *	error was 0.869 ulps (units in the last place).
- *
- * Constants:
- * The hexadecimal values are the intended ones for the following constants.
- * The decimal values may be used, provided that the compiler will convert
- * from decimal to binary accurately enough to produce the hexadecimal values
- * shown.
  */
 
 #include "mathimpl.h"
 
-vc(ln2hi,  6.9314718055829871446E-1  ,7217,4031,0000,f7d0,   0, .B17217F7D00000)
-vc(ln2lo,  1.6465949582897081279E-12 ,bcd5,2ce7,d9cc,e4f1, -39, .E7BCD5E4F1D9CC)
-vc(lnhuge, 9.4961163736712506989E1   ,ec1d,43bd,9010,a73e,   7, .BDEC1DA73E9010)
-vc(lntiny,-9.5654310917272452386E1   ,4f01,c3bf,33af,d72e,   7,-.BF4F01D72E33AF)
-vc(invln2, 1.4426950408889634148E0   ,aa3b,40b8,17f1,295c,   1, .B8AA3B295C17F1)
-vc(p1,     1.6666666666666602251E-1  ,aaaa,3f2a,a9f1,aaaa,  -2, .AAAAAAAAAAA9F1)
-vc(p2,    -2.7777777777015591216E-3  ,0b60,bc36,ec94,b5f5,  -8,-.B60B60B5F5EC94)
-vc(p3,     6.6137563214379341918E-5  ,b355,398a,f15f,792e, -13, .8AB355792EF15F)
-vc(p4,    -1.6533902205465250480E-6  ,ea0e,b6dd,5f84,2e93, -19,-.DDEA0E2E935F84)
-vc(p5,     4.1381367970572387085E-8  ,bb4b,3431,2683,95f5, -24, .B1BB4B95F52683)
-
-#ifdef vccast
-#define    ln2hi    vccast(ln2hi)
-#define    ln2lo    vccast(ln2lo)
-#define   lnhuge    vccast(lnhuge)
-#define   lntiny    vccast(lntiny)
-#define   invln2    vccast(invln2)
-#define       p1    vccast(p1)
-#define       p2    vccast(p2)
-#define       p3    vccast(p3)
-#define       p4    vccast(p4)
-#define       p5    vccast(p5)
-#endif
-
-ic(p1,     1.6666666666666601904E-1,  -3,  1.555555555553E)
-ic(p2,    -2.7777777777015593384E-3,  -9, -1.6C16C16BEBD93)
-ic(p3,     6.6137563214379343612E-5, -14,  1.1566AAF25DE2C)
-ic(p4,    -1.6533902205465251539E-6, -20, -1.BBD41C5D26BF1)
-ic(p5,     4.1381367970572384604E-8, -25,  1.6376972BEA4D0)
-ic(ln2hi,  6.9314718036912381649E-1,  -1,  1.62E42FEE00000)
-ic(ln2lo,  1.9082149292705877000E-10,-33,  1.A39EF35793C76)
-ic(lnhuge, 7.1602103751842355450E2,    9,  1.6602B15B7ECF2)
-ic(lntiny,-7.5137154372698068983E2,    9, -1.77AF8EBEAE354)
-ic(invln2, 1.4426950408889633870E0,    0,  1.71547652B82FE)
+const static double p1 = 0x1.555555555553ep-3;
+const static double p2 = -0x1.6c16c16bebd93p-9;
+const static double p3 = 0x1.1566aaf25de2cp-14;
+const static double p4 = -0x1.bbd41c5d26bf1p-20;
+const static double p5 = 0x1.6376972bea4d0p-25;
+const static double ln2hi = 0x1.62e42fee00000p-1;
+const static double ln2lo = 0x1.a39ef35793c76p-33;
+const static double lnhuge = 0x1.6602b15b7ecf2p9;
+const static double lntiny = -0x1.77af8ebeae354p9;
+const static double invln2 = 0x1.71547652b82fep0;
 
 #if 0
 double exp(x)

==== //depot/projects/hammer/lib/msun/bsdsrc/mathimpl.h#2 (text+ko) ====

@@ -31,59 +31,12 @@
  * SUCH DAMAGE.
  *
  *	@(#)mathimpl.h	8.1 (Berkeley) 6/4/93
- * $FreeBSD: src/lib/msun/bsdsrc/mathimpl.h,v 1.3 2002/05/28 17:03:12 alfred Exp $
+ * $FreeBSD: src/lib/msun/bsdsrc/mathimpl.h,v 1.4 2004/05/17 01:04:37 das Exp $
  */
 
 #include <sys/cdefs.h>
 #include <math.h>
 
-#if defined(vax)||defined(tahoe)
-
-/* Deal with different ways to concatenate in cpp */
-#    define	cat3(a,b,c) a ## b ## c
-
-/* Deal with vax/tahoe byte order issues */
-#  ifdef vax
-#    define	cat3t(a,b,c) cat3(a,b,c)
-#  else
-#    define	cat3t(a,b,c) cat3(a,c,b)
-#  endif
-
-#  define vccast(name) (*(const double *)(cat3(name,,x)))
-
-   /*
-    * Define a constant to high precision on a Vax or Tahoe.
-    *
-    * Args are the name to define, the decimal floating point value,
-    * four 16-bit chunks of the float value in hex
-    * (because the vax and tahoe differ in float format!), the power
-    * of 2 of the hex-float exponent, and the hex-float mantissa.
-    * Most of these arguments are not used at compile time; they are
-    * used in a post-check to make sure the constants were compiled
-    * correctly.
-    *
-    * People who want to use the constant will have to do their own
-    *     #define foo vccast(foo)
-    * since CPP cannot do this for them from inside another macro (sigh).
-    * We define "vccast" if this needs doing.
-    */
-#  define vc(name, value, x1,x2,x3,x4, bexp, xval) \
-	const static long cat3(name,,x)[] = {cat3t(0x,x1,x2), cat3t(0x,x3,x4)};
-
-#  define ic(name, value, bexp, xval) ;
-
-#else	/* vax or tahoe */
-
-   /* Hooray, we have an IEEE machine */
-#  undef vccast
-#  define vc(name, value, x1,x2,x3,x4, bexp, xval) ;
-
-#  define ic(name, value, bexp, xval) \
-	const static double name = value;
-
-#endif	/* defined(vax)||defined(tahoe) */
-
-
 /*
  * Functions internal to the math package, yet not static.
  */

==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#68 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The FreeBSD Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.726 2004/05/09 23:04:47 bmah Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.728 2004/05/17 17:55:19 yar Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -591,7 +591,16 @@
       <command>bthidd</command> command, which support Bluetooth
       HID (Human Interface Device), have been added.</para>
 
-    <para>&man.df.1; now supports a <option>-c</option> to display
+    <para>The &man.cron.8 daemon now accepts two new options,
+      <option>-j</option> and <option>-J</option>, to enable
+      time jitter for jobs to run as unpriviliged users and the
+      superuser, respectively.  Time jitter means that &man.cron.8
+      will sleep for a small random period of time in the specified
+      range before executing a job.  This feature is intended to
+      smooth load peaks appearing when a lot of jobs are scheduled
+      for a particular moment.</para>
+
+    <para>&man.df.1; now supports a <option>-c</option> option to display
       a grand total of statistics for file systems.</para>
 
     <para>The <command>doscmd</command> utility has been
@@ -609,8 +618,8 @@
     <para arch="pc98">The &man.fdcontrol.8;, &man.fdformat.1;, and
       &man.fdread.1; utilities now work on &os;/pc98.</para>
 
-    <para>The &man.find.1; now supports a option
-      <option>-acl</option> to locate files with &man.acl.3;.</para>
+    <para>The &man.find.1; utility now supports a <option>-acl</option>
+      primary to locate files with &man.acl.3;.</para>
 
     <para>&man.indent.1; now supports a <option>-ldi</option> option
       to control indentation of local variables.  A number of other

==== //depot/projects/hammer/sbin/bsdlabel/bsdlabel.8#7 (text+ko) ====

@@ -29,7 +29,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)disklabel.8	8.2 (Berkeley) 4/19/94
-.\" $FreeBSD: src/sbin/bsdlabel/bsdlabel.8,v 1.57 2004/04/09 19:58:25 markm Exp $
+.\" $FreeBSD: src/sbin/bsdlabel/bsdlabel.8,v 1.58 2004/05/17 08:35:39 ru Exp $
 .\"
 .Dd March 15, 2003
 .Dt BSDLABEL 8
@@ -40,30 +40,28 @@
 .Sh SYNOPSIS
 .Nm
 .Op Fl A
-.Op Fl f
-.Ar disk/file
+.Ar disk | Fl f Ar file
 .Nm
 .Fl w
 .Op Fl \&An
 .Op Fl B Op Fl b Ar boot
 .Op Fl m Ar machine
-.Op Fl f
-.Ar disk/file
+.Ar disk | Fl f Ar file
 .Op Ar type
 .Nm
 .Fl e
 .Op Fl \&An
 .Op Fl B Op Fl b Ar boot
 .Op Fl m Ar machine
-.Op Fl f
-.Ar disk/file
+.Ar disk | Fl f Ar file
 .Nm
 .Fl R
 .Op Fl \&An
 .Op Fl B Op Fl b Ar boot
 .Op Fl m Ar machine
 .Op Fl f
-.Ar disk/file protofile
+.Ar disk | Fl f Ar file
+.Ar protofile
 .Sh DESCRIPTION
 The
 .Nm
@@ -75,9 +73,9 @@
 .Nm
 can install bootstrap code.
 .Ss Disk Device Name
-When specifying the device (i.e. when the
+When specifying the device (i.e., when the
 .Fl f
-option is not used), 
+option is not used),
 the
 .Pa /dev/
 path prefix may be omitted;

==== //depot/projects/hammer/sbin/conscontrol/conscontrol.8#3 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/sbin/conscontrol/conscontrol.8,v 1.5 2004/02/17 04:53:47 grog Exp $
+.\" $FreeBSD: src/sbin/conscontrol/conscontrol.8,v 1.6 2004/05/17 08:35:39 ru Exp $
 .\"
 .Dd October 23, 2001
 .Dt CONSCONTROL 8
@@ -79,7 +79,9 @@
 Adding a device will place it at the front of the list of console
 devices; the first device is used for the high level console.
 .Pp
+The
 .Ar console
+argument
 is the name of a console device in
 .Pa /dev ;
 the name of the directory may be omitted.

==== //depot/projects/hammer/sbin/dump/dump.8#11 (text+ko) ====

@@ -27,7 +27,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)dump.8	8.3 (Berkeley) 5/1/95
-.\" $FreeBSD: src/sbin/dump/dump.8,v 1.65 2004/04/13 02:58:06 green Exp $
+.\" $FreeBSD: src/sbin/dump/dump.8,v 1.66 2004/05/17 08:35:40 ru Exp $
 .\"
 .Dd March 1, 2002
 .Dt DUMP 8
@@ -200,7 +200,7 @@
 for the output device of each volume.
 This child pipeline's
 .Dv stdin
-.Pa ( /dev/fd/0 )
+.Pq Pa /dev/fd/0
 is redirected from the
 .Nm
 output stream, and the environment variable
@@ -230,19 +230,25 @@
 .Nm
 takes a snapshot of the file system in the
 .Pa .snap
-directory in the root of the filesystem being dumped and
+directory in the root of the file system being dumped and
 then does a dump of the snapshot.
 The snapshot is removed when the dump is complete.
-This option is ignored for unmounted or read-only filesystems.
+This option is ignored for unmounted or read-only file systems.
 If the
 .Pa .snap
-directory does not exist in the root of the filesystem being dumped,
-the dump will fail.
+directory does not exist in the root of the file system being dumped,
+the
+.Nm
+will fail.
 This problem can be corrected by creating a
 .Pa .snap
-directory in the root of the filesystem to be dumped;
-its owner should be root, its group should be operator,
-and its mode should be 0770.
+directory in the root of the file system to be dumped;
+its owner should be
+.Dq Li root ,
+its group should be
+.Dq Li operator ,
+and its mode should be
+.Dq Li 0770 .
 .It Fl n
 Whenever
 .Nm
@@ -439,7 +445,7 @@
 .Xr rmt 8
 program.
 .It Ev RSH
-Pathname of remote shell program, if not
+Pathname of a remote shell program, if not
 .Xr rsh 1 .
 .El
 .Sh FILES
@@ -473,14 +479,18 @@
 Fewer than 32 read errors on the file system are ignored, though all
 errors will generate a warning message.
 This is a bit of a compromise.
-In practice it is possible to generate read errors when doing dumps
+In practice, it is possible to generate read errors when doing dumps
 on mounted partitions if the file system is being modified while the
-dump is running.
+.Nm
+is running.
 Since dumps are often done in an unattended fashion using
 .Xr cron 8
-jobs asking for Operator intervention would result in the dump dying.
-However there is nothing wrong with a dump tape written when this sort
-of read error occurs and there is no reason to terminate the dump.
+jobs asking for Operator intervention would result in the
+.Nm
+dying.
+However, there is nothing wrong with a dump tape written when this sort
+of read error occurs, and there is no reason to terminate the
+.Nm .
 .Pp
 Each reel requires a new process, so parent processes for
 reels already written just hang around until the entire tape

==== //depot/projects/hammer/sbin/fsck_msdosfs/fsck_msdosfs.8#5 (text+ko) ====

@@ -1,5 +1,5 @@
 .\"	$NetBSD: fsck_msdos.8,v 1.9 1997/10/17 11:19:58 ws Exp $
-.\" $FreeBSD: src/sbin/fsck_msdosfs/fsck_msdosfs.8,v 1.12 2003/12/27 06:30:14 bde Exp $
+.\" $FreeBSD: src/sbin/fsck_msdosfs/fsck_msdosfs.8,v 1.13 2004/05/17 08:35:40 ru Exp $
 .\"
 .\" Copyright (C) 1995 Wolfgang Solfrank
 .\" Copyright (c) 1995 Martin Husemann
@@ -89,9 +89,9 @@
 A non-zero exit code is always returned for this option.
 .It Fl f
 Force
-.Nm 
+.Nm
 to check
-.Sq clean
+.Dq clean
 file systems when preening.
 .It Fl n
 Causes

==== //depot/projects/hammer/sbin/gbde/gbde.8#6 (text+ko) ====

@@ -29,7 +29,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/sbin/gbde/gbde.8,v 1.10 2003/11/27 20:54:51 phk Exp $
+.\" $FreeBSD: src/sbin/gbde/gbde.8,v 1.11 2004/05/17 08:35:40 ru Exp $
 .\"
 .Dd October 19, 2002
 .Dt GBDE 8
@@ -172,8 +172,10 @@
 .Pp
 .Dl "gbde attach ad0s1f -l /etc/ad0s1f.lock"
 .Pp
-The encrypted device has the suffix ``.bde'' so a typical
-command to create and mount a filesystem would be:
+The encrypted device has the suffix
+.Pa .bde
+so a typical
+command to create and mount a file system would be:
 .Pp
 .Dl "newfs /dev/ad0s1f.bde"
 .Dl "mount /dev/ad0s1f.bde /secret"
@@ -183,7 +185,7 @@
 .Dl "gbde detach ad0s1f"
 .Pp
 Please notice that detaching an encrypted device corresponds to
-physically removing it, do not forget to unmount the filesystem first.
+physically removing it, do not forget to unmount the file system first.
 .Pp

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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