Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Apr 2005 08:25:42 GMT
From:      David Xu <davidxu@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 74785 for review
Message-ID:  <200504090825.j398PgGa019600@repoman.freebsd.org>

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

Change 74785 by davidxu@davidxu_tiger on 2005/04/09 08:25:22

	IFC.

Affected files ...

.. //depot/projects/davidxu_thread/src/etc/rc.initdiskless#1 branch
.. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/Makefile.inc#2 integrate
.. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/bcmp.S#1 branch
.. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/bcopy.S#2 integrate
.. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/memcmp.S#1 branch
.. //depot/projects/davidxu_thread/src/lib/libc/gen/fnmatch.c#2 integrate
.. //depot/projects/davidxu_thread/src/lib/libc/gen/setmode.c#2 integrate
.. //depot/projects/davidxu_thread/src/lib/libc/gen/syslog.c#4 integrate
.. //depot/projects/davidxu_thread/src/lib/libc/net/getifmaddrs.c#2 integrate
.. //depot/projects/davidxu_thread/src/lib/libc/net/res_comp.c#2 integrate
.. //depot/projects/davidxu_thread/src/lib/libc/net/res_mkupdate.c#2 integrate
.. //depot/projects/davidxu_thread/src/lib/libc/stdio/vfscanf.c#2 integrate
.. //depot/projects/davidxu_thread/src/libexec/rexecd/rexecd.c#9 integrate
.. //depot/projects/davidxu_thread/src/release/doc/zh_CN.GB2312/installation/common/layout.sgml#2 integrate
.. //depot/projects/davidxu_thread/src/release/doc/zh_CN.GB2312/installation/common/trouble.sgml#2 integrate
.. //depot/projects/davidxu_thread/src/sbin/ffsinfo/ffsinfo.8#4 integrate
.. //depot/projects/davidxu_thread/src/sbin/ifconfig/ifconfig.c#4 integrate
.. //depot/projects/davidxu_thread/src/sbin/ifconfig/ifconfig.h#4 integrate
.. //depot/projects/davidxu_thread/src/share/man/man4/cdce.4#2 integrate
.. //depot/projects/davidxu_thread/src/share/man/man4/ng_netflow.4#5 integrate
.. //depot/projects/davidxu_thread/src/share/man/man4/uftdi.4#2 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.c#6 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.h#5 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-chipset.c#7 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-dma.c#3 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-lowlevel.c#9 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-pci.c#5 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-pci.h#5 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/ata/atapi-cam.c#3 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/mse/mse.c#4 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/mse/mse_cbus.c#3 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/mse/mse_isa.c#3 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/usb/uplcom.c#4 integrate
.. //depot/projects/davidxu_thread/src/sys/dev/usb/usbdevs#9 integrate
.. //depot/projects/davidxu_thread/src/sys/geom/geom_ctl.c#3 integrate
.. //depot/projects/davidxu_thread/src/sys/i4b/layer1/isic/i4b_isic.h#3 integrate
.. //depot/projects/davidxu_thread/src/sys/kern/kern_mutex.c#4 integrate
.. //depot/projects/davidxu_thread/src/sys/kern/kern_switch.c#8 integrate
.. //depot/projects/davidxu_thread/src/sys/kern/kern_synch.c#5 integrate
.. //depot/projects/davidxu_thread/src/sys/kern/sched_4bsd.c#5 integrate
.. //depot/projects/davidxu_thread/src/sys/kern/sched_ule.c#5 integrate
.. //depot/projects/davidxu_thread/src/sys/netgraph/bluetooth/common/ng_bluetooth.c#3 integrate
.. //depot/projects/davidxu_thread/src/sys/netinet/in_pcb.c#5 integrate
.. //depot/projects/davidxu_thread/src/sys/netinet/ip_input.c#6 integrate
.. //depot/projects/davidxu_thread/src/sys/pc98/conf/NOTES#7 integrate
.. //depot/projects/davidxu_thread/src/sys/pc98/include/apicreg.h#1 branch
.. //depot/projects/davidxu_thread/src/sys/pc98/include/apicvar.h#1 branch
.. //depot/projects/davidxu_thread/src/sys/pc98/include/ioctl_bt848.h#1 branch
.. //depot/projects/davidxu_thread/src/sys/pc98/include/ioctl_meteor.h#1 branch
.. //depot/projects/davidxu_thread/src/sys/pc98/include/pcaudio.h#2 delete
.. //depot/projects/davidxu_thread/src/sys/pc98/include/pcaudioio.h#1 branch
.. //depot/projects/davidxu_thread/src/sys/pc98/include/pcvt_ioctl.h#1 branch
.. //depot/projects/davidxu_thread/src/sys/pc98/include/pvct_ioctl.h#2 delete
.. //depot/projects/davidxu_thread/src/sys/pc98/include/smptests.h#1 branch
.. //depot/projects/davidxu_thread/src/sys/pci/agp_amd64.c#5 integrate
.. //depot/projects/davidxu_thread/src/sys/sys/proc.h#12 integrate
.. //depot/projects/davidxu_thread/src/tools/regression/msdosfs/msdosfstest.sh#1 branch
.. //depot/projects/davidxu_thread/src/usr.bin/calendar/calendars/calendar.birthday#4 integrate
.. //depot/projects/davidxu_thread/src/usr.bin/make/parse.c#11 integrate

Differences ...

==== //depot/projects/davidxu_thread/src/lib/libc/amd64/string/Makefile.inc#2 (text+ko) ====

@@ -1,3 +1,3 @@
-# $FreeBSD: src/lib/libc/amd64/string/Makefile.inc,v 1.1 2005/04/07 03:56:03 alc Exp $
+# $FreeBSD: src/lib/libc/amd64/string/Makefile.inc,v 1.2 2005/04/08 05:15:55 alc Exp $
 
-MDSRCS+= bcopy.S bzero.S memcpy.S memmove.S memset.S
+MDSRCS+= bcmp.S bcopy.S bzero.S memcmp.S memcpy.S memmove.S memset.S

==== //depot/projects/davidxu_thread/src/lib/libc/amd64/string/bcopy.S#2 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <machine/asm.h>
-__FBSDID("$FreeBSD: src/lib/libc/amd64/string/bcopy.S,v 1.1 2005/04/07 03:56:03 alc Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/amd64/string/bcopy.S,v 1.2 2005/04/08 05:10:18 alc Exp $");
 
 #if 0
 	RCSID("$NetBSD: bcopy.S,v 1.2 2003/08/07 16:42:36 agc Exp $")
@@ -51,14 +51,14 @@
 #endif
 #endif
 #if defined(MEMCOPY) || defined(MEMMOVE)
-	movq	%rdi,%r11	/* save dest */
+	movq	%rdi,%rax	/* return dst */
 #else
 	xchgq	%rdi,%rsi
 #endif
 	movq	%rdx,%rcx
-	movq	%rdi,%rax
-	subq	%rsi,%rax
-	cmpq	%rcx,%rax	/* overlapping? */
+	movq	%rdi,%r8
+	subq	%rsi,%r8
+	cmpq	%rcx,%r8	/* overlapping? */
 	jb	1f
 	cld			/* nope, copy forwards. */
 	shrq	$3,%rcx		/* copy by words */
@@ -68,9 +68,6 @@
 	andq	$7,%rcx		/* any bytes left? */
 	rep
 	movsb
-#if defined(MEMCOPY) || defined(MEMMOVE)
-	movq	%r11,%rax
-#endif
 	ret
 1:
 	addq	%rcx,%rdi	/* copy backwards. */
@@ -87,8 +84,5 @@
 	subq	$7,%rdi
 	rep
 	movsq
-#if defined(MEMCOPY) || defined(MEMMOVE)
-	movq	%r11,%rax
-#endif
 	cld
 	ret

==== //depot/projects/davidxu_thread/src/lib/libc/gen/fnmatch.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)fnmatch.c	8.2 (Berkeley) 4/16/94";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/fnmatch.c,v 1.16 2004/07/29 03:13:10 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/fnmatch.c,v 1.17 2005/04/08 21:24:23 stefanf Exp $");
 
 /*
  * Function fnmatch() as specified in POSIX 1003.2-1992, section B.6.
@@ -254,7 +254,6 @@
 		} else if (*pattern == '\0') {
 			return (RANGE_ERROR);
 		} else if (*pattern == '/' && (flags & FNM_PATHNAME)) {
-			pattern++;
 			return (RANGE_NOMATCH);
 		} else if (*pattern == '\\' && !(flags & FNM_NOESCAPE))
 			pattern++;

==== //depot/projects/davidxu_thread/src/lib/libc/gen/setmode.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)setmode.c	8.2 (Berkeley) 3/25/94";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/setmode.c,v 1.9 2003/02/23 00:24:03 mikeh Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/setmode.c,v 1.10 2005/04/08 21:15:38 stefanf Exp $");
 
 #include "namespace.h"
 #include <sys/types.h>
@@ -83,9 +83,7 @@
  * bits) followed by a '+' (set bits).
  */
 mode_t
-getmode(bbox, omode)
-	const void *bbox;
-	mode_t omode;
+getmode(const void *bbox, mode_t omode)
 {
 	const BITCMD *set;
 	mode_t clrval, newmode, value;
@@ -172,8 +170,7 @@
 #define	STANDARD_BITS	(S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO)
 
 void *
-setmode(p)
-	const char *p;
+setmode(const char *p)
 {
 	int perm, who;
 	char op, *ep;
@@ -340,11 +337,7 @@
 }
 
 static BITCMD *
-addcmd(set, op, who, oparg, mask)
-	BITCMD *set;
-	int oparg, who;
-	int op;
-	u_int mask;
+addcmd(BITCMD *set, int op, int who, int oparg, u_int mask)
 {
 	switch (op) {
 	case '=':
@@ -388,8 +381,7 @@
 
 #ifdef SETMODE_DEBUG
 static void
-dumpmode(set)
-	BITCMD *set;
+dumpmode(BITCMD *set)
 {
 	for (; set->cmd; ++set)
 		(void)printf("cmd: '%c' bits %04o%s%s%s%s%s%s\n",
@@ -409,8 +401,7 @@
  * compacted, but it's not worth the effort.
  */
 static void
-compress_mode(set)
-	BITCMD *set;
+compress_mode(BITCMD *set)
 {
 	BITCMD *nset;
 	int setbits, clrbits, Xbits, op;

==== //depot/projects/davidxu_thread/src/lib/libc/gen/syslog.c#4 (text+ko) ====

@@ -35,7 +35,7 @@
 static char sccsid[] = "@(#)syslog.c	8.5 (Berkeley) 4/29/95";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/syslog.c,v 1.34 2004/12/30 16:05:11 glebius Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/syslog.c,v 1.35 2005/04/08 21:15:38 stefanf Exp $");
 
 #include "namespace.h"
 #include <sys/types.h>
@@ -101,11 +101,8 @@
  * XXX: Maybe one day, dynamically allocate it so that the line length
  *      is `unlimited'.
  */
-static
-int writehook(cookie, buf, len)
-	void	*cookie;	/* really [struct bufcookie *] */
-	char	*buf;		/* characters to copy */
-	int	len;		/* length to copy */
+static int
+writehook(void *cookie, const char *buf, int len)
 {
 	struct bufcookie *h;	/* private `handle' */
 
@@ -137,10 +134,7 @@
 }
 
 void
-vsyslog(pri, fmt, ap)
-	int pri;
-	const char *fmt;
-	va_list ap;
+vsyslog(int pri, const char *fmt, va_list ap)
 {
 	int cnt;
 	char ch, *p;
@@ -329,7 +323,7 @@
 
 /* Should be called with mutex acquired */
 static void
-disconnectlog()
+disconnectlog(void)
 {
 	/*
 	 * If the user closed the FD and opened another in the same slot,
@@ -345,7 +339,7 @@
 
 /* Should be called with mutex acquired */
 static void
-connectlog()
+connectlog(void)
 {
 	struct sockaddr_un SyslogAddr;	/* AF_UNIX address of local logger */
 
@@ -396,9 +390,7 @@
 }
 
 static void
-openlog_unlocked(ident, logstat, logfac)
-	const char *ident;
-	int logstat, logfac;
+openlog_unlocked(const char *ident, int logstat, int logfac)
 {
 	if (ident != NULL)
 		LogTag = ident;
@@ -413,9 +405,7 @@
 }
 
 void
-openlog(ident, logstat, logfac)
-	const char *ident;
-	int logstat, logfac;
+openlog(const char *ident, int logstat, int logfac)
 {
 	THREAD_LOCK();
 	openlog_unlocked(ident, logstat, logfac);
@@ -424,7 +414,7 @@
 
 
 void
-closelog()
+closelog(void)
 {
 	THREAD_LOCK();
 	(void)_close(LogFile);
@@ -436,8 +426,7 @@
 
 /* setlogmask -- set the log mask level */
 int
-setlogmask(pmask)
-	int pmask;
+setlogmask(int pmask)
 {
 	int omask;
 

==== //depot/projects/davidxu_thread/src/lib/libc/net/getifmaddrs.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/getifmaddrs.c,v 1.1 2003/11/14 18:53:22 bms Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/getifmaddrs.c,v 1.2 2005/04/08 21:24:23 stefanf Exp $");
 
 #include "namespace.h"
 #include <sys/param.h>
@@ -60,14 +60,12 @@
 	int icnt = 1;
 	int dcnt = 0;
 	int ntry = 0;
-	u_short idx = 0;
 	size_t len;
 	size_t needed;
 	int mib[6];
 	int i;
 	char *buf;
 	char *data;
-	char *names;
 	char *next;
 	char *p;
 	struct ifma_msghdr *ifmam;
@@ -128,12 +126,10 @@
 
 	ifa = (struct ifmaddrs *)(void *)data;
 	data += sizeof(struct ifmaddrs) * icnt;
-	names = data + dcnt;
 
 	memset(ifa, 0, sizeof(struct ifmaddrs) * icnt);
 	ift = ifa;
 
-	idx = 0;
 	for (next = buf; next < buf + needed; next += rtm->rtm_msglen) {
 		rtm = (struct rt_msghdr *)(void *)next;
 		if (rtm->rtm_version != RTM_VERSION)

==== //depot/projects/davidxu_thread/src/lib/libc/net/res_comp.c#2 (text+ko) ====

@@ -73,7 +73,7 @@
 static char orig_rcsid[] = "From: Id: res_comp.c,v 8.11 1997/05/21 19:31:04 halley Exp $";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/res_comp.c,v 1.17 2002/03/22 21:52:29 obrien Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/res_comp.c,v 1.18 2005/04/08 21:24:23 stefanf Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -158,7 +158,7 @@
 res_hnok(dn)
 	const char *dn;
 {
-	int ppch = '\0', pch = PERIOD, ch = *dn++;
+	int pch = PERIOD, ch = *dn++;
 
 	while (ch != '\0') {
 		int nch = *dn++;
@@ -175,7 +175,7 @@
 			if (!middlechar(ch))
 				return (0);
 		}
-		ppch = pch, pch = ch, ch = nch;
+		pch = ch, ch = nch;
 	}
 	return (1);
 }

==== //depot/projects/davidxu_thread/src/lib/libc/net/res_mkupdate.c#2 (text+ko) ====

@@ -21,7 +21,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/res_mkupdate.c,v 1.5 2003/02/18 13:39:52 nectar Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/res_mkupdate.c,v 1.6 2005/04/08 21:24:23 stefanf Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -62,7 +62,7 @@
 res_mkupdate(ns_updrec *rrecp_in, u_char *buf, int buflen) {
 	ns_updrec *rrecp_start = rrecp_in;
 	HEADER *hp;
-	u_char *cp, *sp1, *sp2, *startp, *endp;
+	u_char *cp, *sp2, *startp, *endp;
 	int n, i, soanum, multiline;
 	ns_updrec *rrecp;
 	struct in_addr ina;
@@ -87,7 +87,6 @@
 	hp->id = htons(++_res.id);
 	hp->opcode = ns_o_update;
 	hp->rcode = NOERROR;
-	sp1 = buf + 2*INT16SZ;  /* save pointer to zocount */
 	cp = buf + HFIXEDSZ;
 	buflen -= HFIXEDSZ;
 	dpp = dnptrs;

==== //depot/projects/davidxu_thread/src/lib/libc/stdio/vfscanf.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)vfscanf.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/vfscanf.c,v 1.37 2004/05/02 10:55:05 das Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/vfscanf.c,v 1.38 2005/04/08 20:58:47 stefanf Exp $");
 
 #include "namespace.h"
 #include <ctype.h>
@@ -138,7 +138,6 @@
 	char ccltab[256];	/* character class table for %[...] */
 	char buf[BUF];		/* buffer for numeric and mb conversions */
 	wchar_t *wcp;		/* handy wide character pointer */
-	wchar_t *wcp0;		/* saves original value of wcp */
 	size_t nconv;		/* length of multibyte sequence converted */
 	static const mbstate_t initial;
 	mbstate_t mbs;
@@ -434,9 +433,9 @@
 				int nchars;
 
 				if ((flags & SUPPRESS) == 0)
-					wcp = wcp0 = va_arg(ap, wchar_t *);
+					wcp = va_arg(ap, wchar_t *);
 				else
-					wcp = wcp0 = &twc;
+					wcp = &twc;
 				n = 0;
 				nchars = 0;
 				while (width != 0) {

==== //depot/projects/davidxu_thread/src/libexec/rexecd/rexecd.c#9 (text+ko) ====

@@ -42,7 +42,7 @@
 static char sccsid[] = "@(#)rexecd.c	8.1 (Berkeley) 6/4/93";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/libexec/rexecd/rexecd.c,v 1.40 2005/04/07 19:26:35 nectar Exp $";
+  "$FreeBSD: src/libexec/rexecd/rexecd.c,v 1.41 2005/04/08 11:19:50 des Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -86,8 +86,6 @@
 static void doit(struct sockaddr *);
 static void getstr(char *, int, const char *);
 static void error(const char *fmt, ...);
-static struct passwd *xgetpwnam(const char *, struct passwd *, char **,
-    size_t *);
 
 int no_uid_0 = 1;
 
@@ -136,10 +134,9 @@
 {
 	char *cmdbuf, *cp;
 	int maxcmdlen;
-	char userbuf[16], pass[16];
-	struct passwd *pwd, pwd_storage;
-	char *pwdbuf, *user;
-	size_t pwdbuflen;
+	char user[16], pass[16];
+	struct passwd *pwd;
+	const void *item;
 	int fd, r, sd;
 	u_short port;
 	int pv[2], pid, cc, nfds;
@@ -189,22 +186,20 @@
 		if (connect(sd, fromp, fromp->sa_len) < 0)
 			exit(1);
 	}
-	user = userbuf;
-	getstr(userbuf, sizeof(userbuf), "username");
+	getstr(user, sizeof(user), "username");
 	getstr(pass, sizeof(pass), "password");
 	getstr(cmdbuf, maxcmdlen, "command");
 	(void) alarm(0);
 
-	pwdbuflen = 0;
-	pwdbuf = NULL;
 	if (!pam_ok(pam_start("rexecd", user, &pamc, &pamh)) ||
 	    !pam_ok(pam_set_item(pamh, PAM_RHOST, remote)) ||
 	    !pam_ok(pam_set_item(pamh, PAM_AUTHTOK, pass)) ||
 	    !pam_ok(pam_authenticate(pamh, pam_flags)) ||
 	    !pam_ok(pam_acct_mgmt(pamh, pam_flags)) ||
-	    !pam_ok(pam_get_item(pamh, PAM_USER, (const void **)&user)) ||
-	    (pwd = xgetpwnam(user, &pwd_storage, &pwdbuf,
-	    &pwdbuflen)) == NULL || (pwd->pw_uid == 0 && no_uid_0)) {
+	    !pam_ok(pam_get_item(pamh, PAM_USER, &item)) || item == NULL ||
+	    strlen(item) >= sizeof(user) || strcpy(user, item) == NULL ||
+	    (pwd = getpwnam(user)) == NULL ||
+	    (pwd->pw_uid == 0 && no_uid_0)) {
 		syslog(LOG_ERR, "%s LOGIN REFUSED from %s", user, remote);
 		error("Login incorrect.\n");
 		exit(1);
@@ -329,27 +324,3 @@
 		}
 	} while (c != 0);
 }
-
-static struct passwd *
-xgetpwnam(const char *user, struct passwd *pwd_storage, char **pwdbuf,
-    size_t *pwdbuflen)
-{
-	struct passwd *pwd;
-	size_t needed;
-	int rv;
-
-	needed = (*pwdbuflen == 0) ? BUFSIZ : *pwdbuflen;
-	pwd = NULL;
-	do {
-		if (needed != *pwdbuflen) {
-			if ((*pwdbuf = reallocf(*pwdbuf, needed)) == NULL) {
-				syslog(LOG_ERR, "Cannot allocate memory");
-				error("Cannot allocate memory.\n");
-				exit(1);
-			} else
-				*pwdbuflen = needed;
-		}
-		rv = getpwnam_r(user, pwd_storage, *pwdbuf, *pwdbuflen, &pwd);
-	} while (pwd == NULL && rv == ERANGE && (needed <<= 1));
-	return pwd;
-}

==== //depot/projects/davidxu_thread/src/release/doc/zh_CN.GB2312/installation/common/layout.sgml#2 (text+ko) ====

@@ -1,8 +1,8 @@
 <!--
 	The FreeBSD Simplified Chinese Project
 
-	Original Revision: 1.8
-	$FreeBSD: src/release/doc/zh_CN.GB2312/installation/common/layout.sgml,v 1.1 2004/10/15 06:43:46 delphij Exp $
+	Original Revision: 1.10
+	$FreeBSD: src/release/doc/zh_CN.GB2312/installation/common/layout.sgml,v 1.2 2005/04/09 03:06:55 delphij Exp $
 
 	This section contains the contents of the old LAYOUT.TXT file.
 -->
@@ -20,13 +20,19 @@
 INSTALL.TXT     catpages        compat4x        games           src
 README.HTM      cdrom.inf       crypto          info            tools</screen>
 
-  <para>如果想从 CDROM、 FTP 或 NFS 从发布目录中安装,
-  只需从软盘镜像目录制作 1.44MB 引导盘 (参见
-  <xref linkend="floppies"> 以了解如何完成它),
-  从制作的引导盘启动, 并按照屏幕的指示去做就可以了。
-  安装过程中所需要的数据会根据您的选择自动获取。
-  如果您之前从没安装过 &os;, 则建议您完整地阅读这份文档
-  (安装指引)。</para>
+  <para>这些文件也可以在多碟组的第一张 CDROM 上找到,
+    只是格局略有不同。 在多数平台上, 安装 CDROM 在安装包文件之外,
+    也提供了一个 <quote>现场文件系统</quote>。 现场文件系统,
+    对于修复或排出现有的 &os; 安装的问题非常有用 (参见 <xref
+    linkend="trouble"> 以了解如何完成这项工作)。</para>
+
+  <para>对于无法从 CDROM 介质引导系统 (但可以通过其它手段来读取 CDROM)
+  的用户来说, 应关注一下 <filename>floppies</filename> 目录。
+  很容易从 <filename>floppies</filename> 提供的文件来自行制作 1.44MB 引导盘
+  (参见 <xref linkend="floppies"> 以了解如何这样做), 并用它来开始从 CDROM、
+  FTP, 或者 NFS 的安装。 在安装过程中所需要的其他数据,
+  将自动地根据您的选择获得。 如果您之前从未安装过 &os;,
+  则应完整地阅读这份文档 (安装指引)。</para>
 
   <para>如果您在尝试进行某种其他类型的安装,
   或对于发布目录是如何组织的感到好奇, 请参考下面的说明以了解进一步的内容:
@@ -89,7 +95,7 @@
 	<para>Ports Collection 可以通过与其他组件相同的方法来安装,
 	解压缩后它需要大约 190MB 的磁盘空间。 关于
 	ports collection 的更多资料可以在
-	<ulink url="http://www.FreeBSD.org/ports/">http://www.FreeBSD.org/ports/</ulink>;
+	<ulink url="&url.base;/ports/">http://www.FreeBSD.org/ports/</ulink>;
 	或本地的
 	<filename>/usr/share/doc/handbook</filename> 找到,
 	当然, 后者的前提是您安装了 <filename>doc</filename>

==== //depot/projects/davidxu_thread/src/release/doc/zh_CN.GB2312/installation/common/trouble.sgml#2 (text+ko) ====

@@ -1,8 +1,8 @@
 <!--
 	The FreeBSD Simplified Chinese Project
 
-	Original Revision: 1.14
-	$FreeBSD: src/release/doc/zh_CN.GB2312/installation/common/trouble.sgml,v 1.1 2004/10/15 06:43:46 delphij Exp $
+	Original Revision: 1.17
+	$FreeBSD: src/release/doc/zh_CN.GB2312/installation/common/trouble.sgml,v 1.2 2005/04/09 06:20:08 delphij Exp $
 
 	This file contains the comments of the old TROUBLE.TXT file.
 -->
@@ -12,21 +12,48 @@
   <sect2 id="repairing">
     <title>修复现有的 &os; 安装</title>
 
-    <para>在安装软盘中的顶级菜单上, &os; 提供了一个
-    <quote>Fixit</quote> 选项。
-    要使用它, 您还需要一张和启动用的那张软盘同样的方法生成的
-    <filename>fixit.flp</filename> 镜像软盘,
-    或 <quote>live filesystem</quote>
-    CDROM; 第二种通常是 &os; 发行版本的一部分。</para>
+    <para>&os; 在其安装程序 &man.sysinstall.8; 的顶级菜单上, 提供了一个
+      <quote>fixit</quote> 选项。 它提供了一个包含 &os;
+      基本系统中常用程序的 shell; 这个环境对于修复或排除现有的 &os;
+      安装中的故障十分有用。 要使用 fixit 模式,
+      您需要按照和其他引导盘相同的方式制作 <filename>fixit.flp</filename> 软盘,
+      或者使用 <quote>现场文件系统</quote> CDROM。
+      一般来说, 现场文件系统应该在 &os; 安装光盘中的第一张上。
+      请注意, 使用 fixit 选项需要一些 UNIX 系统管理的经验。</para>
+
+    <para>一般来说, 有两种方法来启动 fixit 模式。
+      能够从 &os; 安装 CDROM 启动的用户, 应该这样做并在
+      &man.sysinstall.8; 的主菜单选择 <quote>fixit</quote>。
+      然后, 再选择其中的
+      <quote>CDROM/DVD</quote> 选项。</para>
+
+    <para>无法从 CDROM 启动, 但可以从软盘启动的用户,
+      则需要更多的步骤。 除了安装过程所需要的
+      <filename>boot.flp</filename> 和
+      <filename>kern<replaceable>X</replaceable>.flp</filename> 之外,
+      还需要制作一张
+      <filename>fixit.flp</filename> 软盘, 方法和其他软盘无异。
+      按照启动安装程序的步骤进行, 直到出现
+      &man.sysinstall.8; 菜单为止。 这时, 选择其中的
+      <quote>fixit</quote> 项, 随后的菜单中,
+      选择 <quote>Floppy</quote>, 并依提示插入 <filename>fixit.flp</filename>
+      软盘。</para>
+
+    <para>尽管 CDROM 和软盘上的 fixit 环境很相似, 但并非一模一样。
+      它们都提供了一系列用于检查、 修复文件系统及其内容的命令。
+      在 CDROM 上的 fixit 版本提供了全部 &os; 基本系统中的命令,
+      因为它是一个现场文件系统。 与此相反, 由于空间限制, 软盘 fixit 环境,
+      则只能提供它的一个子集。</para>
+
+    <para>软盘版本的 fixit 中,
+      可以在 <filename>/stand</filename> 或
+      <filename>/mnt2/stand</filename> 找到一些常用的独立的应用程序。
+      而在 CDROM 版本的 fixit 中, 这些程序可以在
+      <filename>/stand</filename> 或
+      <filename>/mnt2/rescue</filename> 中找到 (余下的程序,
+      可以在现场文件系统中找到, 其位置是
+      <filename>/mnt</filename>)。</para>
 
-    <para>要启动 fixit, 只需简单地从
-    <filename>kern.flp</filename> 这张软盘启动, 选择
-    <quote>Fixit</quote> 这一项, 并根据提示插入 fixit 软盘或 CDROM。
-    接下来您将进入一个提供了很多命令的命令行界面
-    (在 <filename>/stand</filename>
-    和 <filename>/mnt2/stand</filename> 目录中) 来检查、
-    修复和检验文件系统及其内容。 使用 fixit <emphasis>是</emphasis> 
-    需要一些 UNIX 系统管理的经验的。</para>
   </sect2>
 
   <sect2>
@@ -50,9 +77,9 @@
           <para>在每次启动时这个选项都会被复位,
             因此有必要把 <literal>hint.acpi.0.disabled="1"</literal>
             加入到
-            <filename>/boot/loader.conf</filename>
-            中。 要了解关于启动加载器的进一步详情, 请参考
-            FreeBSD 使用手册。</para>
+            <filename>/boot/loader.conf</filename>中。
+            要了解关于启动加载器的进一步详情, 请参考
+            &os; 使用手册。</para>
         </answer>
       </qandaentry>
       <qandaentry arch="amd64">
@@ -181,10 +208,11 @@
 	  Intel EtherExpress 网卡无法正常工作。</para>
 	</question>
 	<answer>
-	  <para>用 UserConfig 工具 (参见
-          <filename>HARDWARE.TXT</filename>) 并禁用对
-          <devicename>mcd0</devicename> 和
-          <devicename>mcd1</devicename> 设备的探测。 一般而言,
+	  <para>在引导加载的第三阶段, 设置 hint
+          <quote>hint.mcd.0.disabled="1"</quote> 和
+          <quote>hint.mcd.1.disabled="1"</quote>,
+          就可以禁止探测 <devicename>mcd0</devicename> 和
+          <devicename>mcd1</devicename> 设备。 一般而言,
           在内核配置文件中您应该只保留和启用那些将要用到的设备。</para>
 	</answer>
       </qandaentry>
@@ -194,16 +222,14 @@
           设备超时错误。</para>
 	</question>
 	<answer>
-	  <para>您的卡可能与在内核配置中指定的 IRQ 号不同。
-	   ed 驱动默认并不使用软件配置 (DOS 下在 EZSETUP
-	   中输入的值), 但但如果您在内核配置文件中将 IRQ 指定为
-	   <literal>?</literal> 则它会使用软件的配置。</para>
+	  <para>您的卡可能使用了与 <filename>/boot/device.hints</filename>
+	  文件中指定的不同的 IRQ。 ed 驱动默认并不使用‘软’配置 (在 DOS 下使用
+	  EZSETUP 进行的配置), 但如果您在接口的 hint 上指定
+	  <literal>-1</literal>, 就会使用软配置。</para>
 
-	  <para>另外, 也可以通过跳线来改变硬件设置
-	  (如果需要, 相应地修改内核配置),
-	  或在 UserConfig 中将 IRQ 指定为 <literal>-1</literal>,
-	  或在您的内核配置文件中使用 <literal>?</literal>
-          来告诉内核使用软件配置。</para>
+	  <para>可以通过跳线来改变硬件的设定 (并根据需要修改内核配置)
+          或通过设置 hint <quote>hint.ed.0.irq="-1"</quote> 将
+          IRQ 指定为 <literal>-1</literal>。 后者将让内核使用软件配置。</para>
 
           <para>另一种可能是您的卡使用了 IRQ 9, 而这是和 IRQ 2 共用的,
           这也是经常造成问题的原因
@@ -217,11 +243,10 @@
           键盘的输入一团糟。</para>
 	</question>
 	<answer>
-          <para>以前的 IBM 膝上型电脑使用非标准的键盘控制器,
-          所以您必须告诉键盘驱动程序 (atkbd0) 进入一个特定的模式
-          使它能够在 ThinkPads 上工作。 在 UserConfig 文件中将
-          atkbd0 'Flags' 设置为 0x4, 它就应该能正常的工作了。
-          (参见 'Keyboard' 输入菜单)</para>
+          <para>较早的 IBM 笔记本使用了非标准的键盘控制器,
+          因此您必须告诉键盘驱动 (atkbd0) 进入与 ThinkPad
+          协同工作的一个特殊模式。 设置
+          hint <quote>hint.atkbd.0.flags="4"</quote> 应该能让其正常工作。</para>
 	</answer>
       </qandaentry>
       <qandaentry>
@@ -241,20 +266,8 @@
         </question>
 	<answer>
 	  <para>这是一个已知问题, 并用会在将来对其进行修复。
-	  为了使您的系统完全安装, 使用 <option>-c</option> 引导选项进入
-	  UserConfig, 但是 <emphasis>不能</emphasis> 使用好看的可视化模式,
-	  而必须使用旧式的文本 CLI 模式。 在提示符下输入:</para>
-
-          <screen><userinput>eisa 12</userinput>
-<userinput>quit</userinput></screen>
-
-          <para>。 (您也可以用 ‘visual’ 代替 ‘quit’,
-          在接下来的配置对话在可视化模式。)
-          尽管我们推荐您编译定制的内核, 但 dset 现在也能够保存这些值了。</para>
-
-          <para>参考 FAQ 主题 5.3 解释的问题和怎样继续。
-          在您的本地系统 /usr/share/doc/FAQ 目录中可以找到 FAQ,
-          如果您安装了 ‘doc’ 软件包的话。</para>
+	  要让系统能够正常安装,
+          需要在加载器第三阶段设置 hint <quote>hw.eisa_slots="12"</quote>。</para>
 	</answer>
       </qandaentry>
       <qandaentry>
@@ -265,16 +278,8 @@
 	<answer>
 	  <para>由于某些原因, 您的机器可能不喜欢新的
           <literal>i586_copyout</literal> 和
-          <literal>i586_copyin</literal> 代码。 要禁止它,
-          用安装软盘进行引导, 当它进入第一个菜单 (选择是否进入 UserConfig)
-          时选择命令行界面
-          (<quote>专家模式, Expert Mode</quote>),
-          并且输入下面的语句:</para>
-
-          <screen><userinput>flags npx0 1</userinput></screen>
-
-          <para>继续正常的引导过程。 这些设置将保存在您的内核中,
-          因此您只需做一次就可以了。</para>
+          <literal>i586_copyin</literal> 代码。
+          要禁用它们, 需要设置 hint <quote>hint.npx.0.flags="1"</quote>。</para>
 	</answer>
       </qandaentry>
       <qandaentry>
@@ -292,8 +297,8 @@
         </question>
 	<answer>
 	  <para>Compaq 系统总是与其它系统有点不同, 他们没有在笔记本的 CMOS RAM
-          中说明软驱的存在。 因此, 驱动程序会认为没有配置软驱。
-          进入 UserConfig 屏幕, 将 fdc0 驱动标志值设置为 0x1。
+          中说明软驱的存在。 因此, 驱动程序会认为没有配置软驱。 您需要设置 hint
+          <quote>hint.fdc.0.flags="1"</quote>
           这样驱动程序将认为第一个软驱存在, 而不去查询 CMOS。</para>
 	</answer>
       </qandaentry>

==== //depot/projects/davidxu_thread/src/sbin/ffsinfo/ffsinfo.8#4 (text+ko) ====

@@ -35,7 +35,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\" $TSHeader: src/sbin/ffsinfo/ffsinfo.8,v 1.3 2000/12/12 19:30:55 tomsoft Exp $
-.\" $FreeBSD: src/sbin/ffsinfo/ffsinfo.8,v 1.16 2005/03/31 04:05:17 rwatson Exp $
+.\" $FreeBSD: src/sbin/ffsinfo/ffsinfo.8,v 1.17 2005/04/08 10:32:22 ceri Exp $
 .\"
 .Dd September 8, 2000
 .Dt FSINFO 8
@@ -106,7 +106,7 @@
 indirect block dump
 .El
 .It Fl o Ar outfile
-This allows to set the output filename where the dump is written to, and
+This sets the output filename where the dump is written to, and
 must be specified.
 If
 .Fl

==== //depot/projects/davidxu_thread/src/sbin/ifconfig/ifconfig.c#4 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)ifconfig.c	8.2 (Berkeley) 2/16/94";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.110 2004/12/31 19:46:27 sam Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.112 2005/04/08 21:37:41 stefanf Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -467,7 +467,7 @@
 	callbacks = cb;
 }
 
-/* specially-handled comamnds */
+/* specially-handled commands */
 static void setifaddr(const char *, int, int, const struct afswtch *);
 static const struct cmd setifaddr_cmd = DEF_CMD("ifaddr", 0, setifaddr);
 
@@ -502,25 +502,25 @@
 			 */
 			p = (setaddr ? &setifdstaddr_cmd : &setifaddr_cmd);
 		}
-		if (p->c_func || p->c_func2) {
+		if (p->c_u.c_func || p->c_u.c_func2) {
 			if (p->c_parameter == NEXTARG) {
 				if (argv[1] == NULL)
 					errx(1, "'%s' requires argument",
 					    p->c_name);
-				p->c_func(argv[1], 0, s, afp);
+				p->c_u.c_func(argv[1], 0, s, afp);
 				argc--, argv++;
 			} else if (p->c_parameter == OPTARG) {
-				p->c_func(argv[1], 0, s, afp);
+				p->c_u.c_func(argv[1], 0, s, afp);
 				if (argv[1] != NULL)
 					argc--, argv++;
 			} else if (p->c_parameter == NEXTARG2) {
 				if (argc < 3)
 					errx(1, "'%s' requires 2 arguments",
 					    p->c_name);
-				p->c_func2(argv[1], argv[2], s, afp);
+				p->c_u.c_func2(argv[1], argv[2], s, afp);
 				argc -= 2, argv += 2;
 			} else
-				p->c_func(*argv, p->c_parameter, s, afp);
+				p->c_u.c_func(*argv, p->c_parameter, s, afp);
 		}
 		argc--, argv++;
 	}

==== //depot/projects/davidxu_thread/src/sbin/ifconfig/ifconfig.h#4 (text+ko) ====

@@ -31,7 +31,7 @@
  *
  * so there!
  *
- * $FreeBSD: src/sbin/ifconfig/ifconfig.h,v 1.15 2004/12/31 19:46:27 sam Exp $
+ * $FreeBSD: src/sbin/ifconfig/ifconfig.h,v 1.16 2005/04/08 21:37:41 stefanf Exp $
  */
 
 #define	__constructor	__attribute__((constructor))
@@ -51,7 +51,7 @@
 	union {
 		c_func	*c_func;
 		c_func2	*c_func2;
-	};
+	} c_u;
 	struct cmd *c_next;
 };
 void	cmd_register(struct cmd *);

==== //depot/projects/davidxu_thread/src/share/man/man4/cdce.4#2 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\" $NetBSD: cdce.4,v 1.4 2004/12/08 18:35:56 peter Exp $
-.\" $FreeBSD: src/share/man/man4/cdce.4,v 1.1 2005/03/22 14:52:40 sobomax Exp $
+.\" $FreeBSD: src/share/man/man4/cdce.4,v 1.2 2005/04/08 10:38:12 joel Exp $
 .\"
 .Dd October 22, 2004
 .Dt CDCE 4
@@ -73,7 +73,7 @@
 .Sh DIAGNOSTICS
 .Bl -diag
 .It "cdce%d: no union descriptor"
-The driver couldn't fetch an interface descriptor from the USB
+The driver could not fetch an interface descriptor from the USB
 device.
 For a manually added USB vendor/product, the CDCE_NO_UNION flag
 can be tried to work around the missing descriptor.

==== //depot/projects/davidxu_thread/src/share/man/man4/ng_netflow.4#5 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/ng_netflow.4,v 1.8 2005/03/23 10:08:28 glebius Exp $
+.\" $FreeBSD: src/share/man/man4/ng_netflow.4,v 1.9 2005/04/08 10:38:12 joel Exp $
 .\"
 .Dd March 23, 2005
 .Os
@@ -218,7 +218,7 @@
 The latter sends us a copy of IP packets, which we analyze and free.
 On
 .Va fxp0:
-we don't use tee, but send packets back to ether node.
+we do not use tee, but send packets back to ether node.
 .Bd -literal -offset indent
 /usr/sbin/ngctl -f- <<-SEQ
 	# connect ng0's tee to iface0 hook

==== //depot/projects/davidxu_thread/src/share/man/man4/uftdi.4#2 (text+ko) ====

@@ -34,9 +34,9 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/uftdi.4,v 1.6 2004/10/30 09:25:11 le Exp $
+.\" $FreeBSD: src/share/man/man4/uftdi.4,v 1.7 2005/04/08 18:12:07 brueffer Exp $
 .\"
-.Dd October 30, 2004
+.Dd April 8, 2004
 .Dt UFTDI 4
 .Os
 .Sh NAME
@@ -49,7 +49,7 @@
 The
 .Nm
 driver provides support for various serial adapters based on the FTDI
-FT8U100AX and FT8U232AM chips.
+FT2232C, FT8U100AX and FT8U232AM chips.
 .Pp
 The device is accessed through the
 .Xr ucom 4

==== //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.c#6 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.238 2005/04/06 10:22:56 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.239 2005/04/08 09:37:47 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -122,7 +122,7 @@
     mtx_init(&ch->queue_mtx, "ATA queue lock", NULL, MTX_DEF);
     TAILQ_INIT(&ch->ata_queue);
 
-    /* initialise device(s) on this channel */
+    /* reset the controller HW, the channel and device(s) */
     while (ATA_LOCKING(dev, ATA_LF_LOCK) != ch->unit)
 	tsleep(&error, PRIBIO, "ataatch", 1);
     ch->hw.reset(ch);
@@ -205,7 +205,7 @@
     ch->state = ATA_STALL_QUEUE;
     mtx_unlock(&ch->state_mtx);
 
-    /* reset the channel and devices */
+    /* reset the controller HW, the channel and device(s) */
     ch->hw.reset(ch);
 
     /* reinit the children and delete any that fails */

==== //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.h#5 (text+ko) ====

@@ -25,7 +25,7 @@
  * (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: src/sys/dev/ata/ata-all.h,v 1.89 2005/04/06 10:22:56 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.90 2005/04/08 09:37:47 sos Exp $
  */
 
 /* ATA register defines */
@@ -103,44 +103,76 @@
 #define         ATA_A_4BIT              0x08    /* 4 head bits */
 #define         ATA_A_HOB               0x80    /* High Order Byte enable */
 
-/* ATAPI misc defines */
-#define ATAPI_MAGIC_LSB                 0x14
-#define ATAPI_MAGIC_MSB                 0xeb
-#define ATAPI_P_READ                    (ATA_S_DRQ | ATA_I_IN)
-#define ATAPI_P_WRITE                   (ATA_S_DRQ)
-#define ATAPI_P_CMDOUT                  (ATA_S_DRQ | ATA_I_CMD)
-#define ATAPI_P_DONEDRQ                 (ATA_S_DRQ | ATA_I_CMD | ATA_I_IN)
-#define ATAPI_P_DONE                    (ATA_I_CMD | ATA_I_IN)
-#define ATAPI_P_ABORT                   0
+/* SATA register defines */
+#define ATA_SSTATUS			13
+#define 	ATA_SS_DET_MASK		0x0000000f
+#define		ATA_SS_DET_NO_DEVICE	0x00000000
+#define		ATA_SS_DET_DEV_PRESENT	0x00000001

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



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