Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Sep 2011 14:00:28 GMT
From:      Matt Jacob <mjacob@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 199527 for review
Message-ID:  <201109301400.p8UE0SVj071067@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@199527?ac=10

Change 199527 by mjacob@mjacob-sandbox on 2011/09/30 13:59:49

	IFC

Affected files ...

.. //depot/projects/mjacob-dev/Makefile.inc1#11 integrate
.. //depot/projects/mjacob-dev/UPDATING#10 integrate
.. //depot/projects/mjacob-dev/bin/ls/ls.1#3 integrate
.. //depot/projects/mjacob-dev/bin/ls/ls.c#2 integrate
.. //depot/projects/mjacob-dev/bin/ls/ls.h#2 integrate
.. //depot/projects/mjacob-dev/bin/ls/print.c#2 integrate
.. //depot/projects/mjacob-dev/bin/ps/extern.h#4 integrate
.. //depot/projects/mjacob-dev/bin/ps/keyword.c#5 integrate
.. //depot/projects/mjacob-dev/bin/ps/print.c#6 integrate
.. //depot/projects/mjacob-dev/bin/ps/ps.c#4 integrate
.. //depot/projects/mjacob-dev/bin/ps/ps.h#3 integrate
.. //depot/projects/mjacob-dev/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c#3 integrate
.. //depot/projects/mjacob-dev/contrib/llvm/LICENSE.TXT#1 branch
.. //depot/projects/mjacob-dev/contrib/llvm/lib/Support/COPYRIGHT.regex#1 branch
.. //depot/projects/mjacob-dev/contrib/llvm/tools/clang/LICENSE.TXT#1 branch
.. //depot/projects/mjacob-dev/crypto/openssh/ssh_namespace.h#3 integrate
.. //depot/projects/mjacob-dev/etc/devd.conf#4 integrate
.. //depot/projects/mjacob-dev/etc/mtree/BSD.include.dist#6 integrate
.. //depot/projects/mjacob-dev/etc/mtree/BSD.usr.dist#4 integrate
.. //depot/projects/mjacob-dev/etc/network.subr#6 integrate
.. //depot/projects/mjacob-dev/gnu/usr.bin/groff/tmac/mdoc.local#6 integrate
.. //depot/projects/mjacob-dev/include/Makefile#4 integrate
.. //depot/projects/mjacob-dev/include/iso646.h#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libasn1/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libgssapi_krb5/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libgssapi_ntlm/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libgssapi_spnego/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libhdb/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libheimntlm/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libhx509/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libkadm5clnt/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libkadm5srv/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libkafs5/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libkrb5/Makefile#2 integrate
.. //depot/projects/mjacob-dev/kerberos5/lib/libroken/Makefile#2 integrate
.. //depot/projects/mjacob-dev/lib/libc/gen/devname.c#2 integrate
.. //depot/projects/mjacob-dev/lib/libc/locale/isspace.3#2 integrate
.. //depot/projects/mjacob-dev/lib/libfetch/common.c#3 integrate
.. //depot/projects/mjacob-dev/lib/libfetch/common.h#2 integrate
.. //depot/projects/mjacob-dev/lib/libfetch/fetch.3#2 integrate
.. //depot/projects/mjacob-dev/lib/libfetch/fetch.c#2 integrate
.. //depot/projects/mjacob-dev/lib/libfetch/fetch.h#2 integrate
.. //depot/projects/mjacob-dev/lib/libfetch/file.c#3 integrate
.. //depot/projects/mjacob-dev/lib/libfetch/ftp.c#4 integrate
.. //depot/projects/mjacob-dev/lib/libfetch/http.c#3 integrate
.. //depot/projects/mjacob-dev/lib/libusbhid/data.c#2 integrate
.. //depot/projects/mjacob-dev/lib/libusbhid/parse.c#3 integrate
.. //depot/projects/mjacob-dev/lib/libusbhid/usbhid.3#2 integrate
.. //depot/projects/mjacob-dev/lib/libusbhid/usbhid.h#2 integrate
.. //depot/projects/mjacob-dev/release/Makefile.sysinstall#5 integrate
.. //depot/projects/mjacob-dev/sbin/fsdb/fsdbutil.c#2 integrate
.. //depot/projects/mjacob-dev/sbin/hastctl/hastctl.c#7 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/activemap.c#4 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/control.c#7 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/ebuf.c#2 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/event.c#2 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/hast.conf.5#4 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/hast.h#5 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/hast_proto.c#4 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/hastd.c#7 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/hooks.c#4 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/metadata.c#2 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/nv.c#3 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/parse.y#6 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/pjdlog.c#5 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/primary.c#9 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/proto_tcp.c#2 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/rangelock.c#2 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/secondary.c#7 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/subr.c#7 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/synch.h#2 integrate
.. //depot/projects/mjacob-dev/sbin/hastd/token.l#4 integrate
.. //depot/projects/mjacob-dev/share/doc/Makefile#3 integrate
.. //depot/projects/mjacob-dev/share/doc/llvm/Makefile#1 branch
.. //depot/projects/mjacob-dev/share/doc/llvm/clang/Makefile#1 branch
.. //depot/projects/mjacob-dev/share/examples/cvsup/stable-supfile#3 integrate
.. //depot/projects/mjacob-dev/share/man/man4/smp.4#3 integrate
.. //depot/projects/mjacob-dev/share/man/man7/build.7#5 integrate
.. //depot/projects/mjacob-dev/share/man/man9/ifnet.9#3 integrate
.. //depot/projects/mjacob-dev/share/misc/committers-ports.dot#8 integrate
.. //depot/projects/mjacob-dev/share/misc/committers-src.dot#5 integrate
.. //depot/projects/mjacob-dev/sys/arm/at91/at91_mci.c#2 integrate
.. //depot/projects/mjacob-dev/sys/arm/at91/at91_pio.c#2 integrate
.. //depot/projects/mjacob-dev/sys/arm/at91/at91_rtc.c#2 integrate
.. //depot/projects/mjacob-dev/sys/arm/at91/at91_spi.c#2 integrate
.. //depot/projects/mjacob-dev/sys/arm/at91/at91_ssc.c#2 integrate
.. //depot/projects/mjacob-dev/sys/arm/at91/at91_twi.c#2 integrate
.. //depot/projects/mjacob-dev/sys/arm/at91/uart_dev_at91usart.c#4 integrate
.. //depot/projects/mjacob-dev/sys/arm/econa/if_ece.c#2 integrate
.. //depot/projects/mjacob-dev/sys/conf/newvers.sh#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/ahci/ahci.c#10 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ah_osdep.c#6 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ah_internal.h#10 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ah_regdomain.c#6 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#7 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#7 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5212/ar5112.c#3 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#9 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#11 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#7 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c#8 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c#9 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c#10 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/if_ath.c#14 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/if_athvar.h#10 integrate
.. //depot/projects/mjacob-dev/sys/dev/mfi/mfi.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/mfi/mfivar.h#2 integrate
.. //depot/projects/mjacob-dev/sys/dev/puc/pucdata.c#7 integrate
.. //depot/projects/mjacob-dev/sys/dev/usb/input/uhid.c#6 integrate
.. //depot/projects/mjacob-dev/sys/dev/usb/quirk/usb_quirk.c#6 integrate
.. //depot/projects/mjacob-dev/sys/dev/usb/usbdevs#10 integrate
.. //depot/projects/mjacob-dev/sys/ia64/ia64/pmap.c#9 integrate
.. //depot/projects/mjacob-dev/sys/kern/kern_clock.c#4 integrate
.. //depot/projects/mjacob-dev/sys/kern/kern_exec.c#7 integrate
.. //depot/projects/mjacob-dev/sys/kern/subr_kdb.c#9 integrate
.. //depot/projects/mjacob-dev/sys/kern/subr_syscall.c#2 integrate
.. //depot/projects/mjacob-dev/sys/kern/uipc_usrreq.c#5 integrate
.. //depot/projects/mjacob-dev/sys/modules/ipfw/Makefile#4 integrate
.. //depot/projects/mjacob-dev/sys/net/raw_cb.h#2 integrate
.. //depot/projects/mjacob-dev/sys/net/raw_usrreq.c#2 integrate
.. //depot/projects/mjacob-dev/sys/net/route.c#8 integrate
.. //depot/projects/mjacob-dev/sys/net/route.h#5 integrate
.. //depot/projects/mjacob-dev/sys/net/rtsock.c#3 integrate
.. //depot/projects/mjacob-dev/sys/netinet/ipfw/ip_fw_pfil.c#5 integrate
.. //depot/projects/mjacob-dev/sys/powerpc/booke/pmap.c#9 integrate
.. //depot/projects/mjacob-dev/sys/powerpc/powerpc/cpu.c#2 integrate
.. //depot/projects/mjacob-dev/sys/sparc64/sparc64/pmap.c#11 integrate
.. //depot/projects/mjacob-dev/sys/sys/param.h#11 integrate
.. //depot/projects/mjacob-dev/sys/ufs/ffs/ffs_snapshot.c#4 integrate
.. //depot/projects/mjacob-dev/sys/vm/vm_fault.c#7 integrate
.. //depot/projects/mjacob-dev/sys/vm/vm_page.c#8 integrate
.. //depot/projects/mjacob-dev/sys/vm/vm_page.h#7 integrate
.. //depot/projects/mjacob-dev/tools/make_libdeps.sh#2 integrate
.. //depot/projects/mjacob-dev/usr.bin/calendar/calendars/calendar.freebsd#7 integrate
.. //depot/projects/mjacob-dev/usr.bin/compress/zopen.c#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/csup/diff.c#2 integrate
.. //depot/projects/mjacob-dev/usr.bin/fetch/fetch.1#2 integrate
.. //depot/projects/mjacob-dev/usr.bin/fetch/fetch.c#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/find/find.1#4 integrate
.. //depot/projects/mjacob-dev/usr.bin/find/ls.c#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/fstat/fstat.1#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/fstat/fstat.c#4 integrate
.. //depot/projects/mjacob-dev/usr.bin/gzip/zuncompress.c#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/script/script.1#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/script/script.c#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/usbhidaction/usbhidaction.1#2 integrate
.. //depot/projects/mjacob-dev/usr.bin/usbhidaction/usbhidaction.c#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/usbhidctl/usbhid.c#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/usbhidctl/usbhidctl.1#2 integrate
.. //depot/projects/mjacob-dev/usr.sbin/mfiutil/mfi_show.c#7 integrate
.. //depot/projects/mjacob-dev/usr.sbin/pkg_install/add/main.c#4 integrate
.. //depot/projects/mjacob-dev/usr.sbin/pstat/pstat.c#2 integrate

Differences ...

==== //depot/projects/mjacob-dev/Makefile.inc1#11 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.702 2011/08/11 10:29:10 ru Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.703 2011/09/27 07:14:12 stas Exp $
 #
 # Make command line options:
 #	-DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
@@ -1218,7 +1218,8 @@
 
 gnu/lib/libgcc__L: lib/libc__L
 
-_prebuild_libs=	${_kerberos5_lib_libasn1} ${_kerberos5_lib_libheimntlm} \
+_prebuild_libs=	${_kerberos5_lib_libasn1} ${_kerberos5_lib_libhdb} \
+		${_kerberos5_lib_libheimntlm} \
 		${_kerberos5_lib_libhx509} ${_kerberos5_lib_libkrb5} \
 		${_kerberos5_lib_libroken} \
 		lib/libbz2 lib/libcom_err lib/libcrypt \
@@ -1268,6 +1269,19 @@
 _secure_lib=	secure/lib
 .endif
 
+.if ${MK_KERBEROS} != "no"
+kerberos5/lib/libasn1__L: lib/libcom_err__L kerberos5/lib/libroken__L
+kerberos5/lib/libhdb__L: kerberos5/lib/libasn1__L lib/libcom_err__L \
+    kerberos5/lib/libkrb5__L kerberos5/lib/libroken__L
+kerberos5/lib/libheimntlm__L: secure/lib/libcrypto__L kerberos5/lib/libkrb5__L
+kerberos5/lib/libhx509__L: kerberos5/lib/libasn1__L lib/libcom_err__L \
+    secure/lib/libcrypto__L kerberos5/lib/libroken__L
+kerberos5/lib/libkrb5__L: kerberos5/lib/libasn1__L lib/libcom_err__L \
+    lib/libcrypt__L secure/lib/libcrypto__L kerberos5/lib/libhx509__L \
+    kerberos5/lib/libroken__L
+kerberos5/lib/libroken__L: lib/libcrypt__L
+.endif
+
 .if ${MK_GSSAPI} != "no"
 _lib_libgssapi=	lib/libgssapi
 .endif
@@ -1279,6 +1293,7 @@
 .if ${MK_KERBEROS} != "no"
 _kerberos5_lib=	kerberos5/lib
 _kerberos5_lib_libasn1= kerberos5/lib/libasn1
+_kerberos5_lib_libhdb= kerberos5/lib/libhdb
 _kerberos5_lib_libkrb5= kerberos5/lib/libkrb5
 _kerberos5_lib_libhx509= kerberos5/lib/libhx509
 _kerberos5_lib_libroken= kerberos5/lib/libroken

==== //depot/projects/mjacob-dev/UPDATING#10 (text+ko) ====

@@ -9,8 +9,8 @@
 Items affecting the ports and packages system can be found in
 /usr/ports/UPDATING.  Please read that file before running portupgrade.
 
-NOTE TO PEOPLE WHO THINK THAT FreeBSD 9.x IS SLOW:
-	FreeBSD 9.x has many debugging features turned on, in both the kernel
+NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW:
+	FreeBSD 10.x has many debugging features turned on, in both the kernel
 	and userland.  These features attempt to detect incorrect use of
 	system primitives, and encourage loud failure through extra sanity
 	checking and fail stop semantics.  They also substantially impact
@@ -22,6 +22,10 @@
 	machines to maximize performance.  (To disable malloc debugging, run
 	ln -s aj /etc/malloc.conf.)
 
+20110923:
+	The stable/9 branch created in subversion.  This corresponds to the
+	RELENG_9 branch in CVS.
+
 20110913:
 	This commit modifies vfs_register() so that it uses a hash
 	calculation to set vfc_typenum, which is enabled by default.
@@ -1502,4 +1506,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.702 2011/09/13 21:01:26 rmacklem Exp $
+$FreeBSD: src/UPDATING,v 1.703 2011/09/26 02:27:04 kensmith Exp $

==== //depot/projects/mjacob-dev/bin/ls/ls.1#3 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)ls.1	8.7 (Berkeley) 7/29/94
-.\" $FreeBSD: src/bin/ls/ls.1,v 1.104 2011/05/13 16:29:57 pluknet Exp $
+.\" $FreeBSD: src/bin/ls/ls.1,v 1.105 2011/09/28 18:53:36 ed Exp $
 .\"
-.Dd April 4, 2008
+.Dd September 28, 2011
 .Dt LS 1
 .Os
 .Sh NAME
@@ -357,8 +357,7 @@
 the numeric ID's are displayed.
 .Pp
 If the file is a character special or block special file,
-the major and minor device numbers for the file are displayed
-in the size field.
+the device number for the file is displayed in the size field.
 If the file is a symbolic link the pathname of the
 linked-to file is preceded by
 .Dq Li -> .

==== //depot/projects/mjacob-dev/bin/ls/ls.c#2 (text+ko) ====

@@ -42,7 +42,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/ls/ls.c,v 1.90 2010/02/08 15:42:55 jh Exp $");
+__FBSDID("$FreeBSD: src/bin/ls/ls.c,v 1.91 2011/09/28 18:53:36 ed Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -563,7 +563,7 @@
 	long maxblock;
 	u_long btotal, labelstrlen, maxinode, maxlen, maxnlink;
 	u_long maxlabelstr;
-	u_int devstrlen;
+	u_int sizelen;
 	int maxflags;
 	gid_t maxgroup;
 	uid_t maxuser;
@@ -572,7 +572,6 @@
 	int entries, needstats;
 	const char *user, *group;
 	char *flags, *labelstr = NULL;
-	char buf[STRBUF_SIZEOF(u_quad_t) + 1];
 	char ngroup[STRBUF_SIZEOF(uid_t) + 1];
 	char nuser[STRBUF_SIZEOF(gid_t) + 1];
 
@@ -656,7 +655,8 @@
 		MAKENINES(maxsize);
 		free(jinitmax);
 	}
-	devstrlen = 0;
+	d.s_size = 0;
+	sizelen = 0;
 	flags = NULL;
 	for (cur = list, entries = 0; cur; cur = cur->fts_link) {
 		if (cur->fts_info == FTS_ERR || cur->fts_info == FTS_NS) {
@@ -796,14 +796,12 @@
 				np->group = &np->data[ulen + 1];
 				(void)strcpy(np->group, group);
 
-				if ((S_ISCHR(sp->st_mode) ||
-				    S_ISBLK(sp->st_mode)) &&
-				    devstrlen < DEVSTR_HEX_LEN) {
-					if (minor(sp->st_rdev) > 255 ||
-					    minor(sp->st_rdev) < 0)
-						devstrlen = DEVSTR_HEX_LEN;
-					else
-						devstrlen = DEVSTR_LEN;
+				if (S_ISCHR(sp->st_mode) ||
+				    S_ISBLK(sp->st_mode)) {
+					sizelen = snprintf(NULL, 0,
+					    "%#jx", (uintmax_t)sp->st_rdev);
+					if (d.s_size < sizelen)
+						d.s_size = sizelen;
 				}
 
 				if (f_flags) {
@@ -837,23 +835,16 @@
 	d.maxlen = maxlen;
 	if (needstats) {
 		d.btotal = btotal;
-		(void)snprintf(buf, sizeof(buf), "%lu", maxblock);
-		d.s_block = strlen(buf);
+		d.s_block = snprintf(NULL, 0, "%lu", maxblock);
 		d.s_flags = maxflags;
 		d.s_label = maxlabelstr;
 		d.s_group = maxgroup;
-		(void)snprintf(buf, sizeof(buf), "%lu", maxinode);
-		d.s_inode = strlen(buf);
-		(void)snprintf(buf, sizeof(buf), "%lu", maxnlink);
-		d.s_nlink = strlen(buf);
-		if (f_humanval)
-			d.s_size = HUMANVALSTR_LEN;
-		else {
-			(void)snprintf(buf, sizeof(buf), "%ju", maxsize);
-			d.s_size = strlen(buf);
-		}
-		if (d.s_size < devstrlen)
-			d.s_size = devstrlen;
+		d.s_inode = snprintf(NULL, 0, "%lu", maxinode);
+		d.s_nlink = snprintf(NULL, 0, "%lu", maxnlink);
+		sizelen = f_humanval ? HUMANVALSTR_LEN :
+		    snprintf(NULL, 0, "%ju", maxsize);
+		if (d.s_size < sizelen)
+			d.s_size = sizelen;
 		d.s_user = maxuser;
 	}
 	printfcn(&d);

==== //depot/projects/mjacob-dev/bin/ls/ls.h#2 (text+ko) ====

@@ -30,14 +30,12 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)ls.h	8.1 (Berkeley) 5/31/93
- * $FreeBSD: src/bin/ls/ls.h,v 1.24 2010/01/24 19:23:07 jh Exp $
+ * $FreeBSD: src/bin/ls/ls.h,v 1.25 2011/09/28 18:53:36 ed Exp $
  */
 
 #define NO_PRINT	1
 
 #define HUMANVALSTR_LEN	5
-#define DEVSTR_LEN	8
-#define DEVSTR_HEX_LEN	15
 
 extern long blocksize;		/* block size units */
 

==== //depot/projects/mjacob-dev/bin/ls/print.c#2 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.81 2010/01/24 19:23:07 jh Exp $");
+__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.82 2011/09/28 18:53:36 ed Exp $");
 
 #include <sys/param.h>
 #include <sys/stat.h>
@@ -48,6 +48,7 @@
 #include <langinfo.h>
 #include <libutil.h>
 #include <stdio.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <time.h>
@@ -351,16 +352,8 @@
 static void
 printdev(size_t width, dev_t dev)
 {
-	char buf[DEVSTR_HEX_LEN + 1];
 
-	if (minor(dev) > 255 || minor(dev) < 0)
-		(void)snprintf(buf, sizeof(buf), "%3d, 0x%08x",
-		    major(dev), (u_int)minor(dev));
-	else
-		(void)snprintf(buf, sizeof(buf), "%3d, %3d",
-		    major(dev), minor(dev));
-
-	(void)printf("%*s ", (u_int)width, buf);
+	(void)printf("%#*jx ", (u_int)width, (uintmax_t)dev);
 }
 
 static void

==== //depot/projects/mjacob-dev/bin/ps/extern.h#4 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)extern.h	8.3 (Berkeley) 4/2/94
- * $FreeBSD: src/bin/ps/extern.h,v 1.46 2011/06/14 16:50:16 trasz Exp $
+ * $FreeBSD: src/bin/ps/extern.h,v 1.47 2011/09/29 06:31:42 trasz Exp $
  */
 
 struct kinfo;
@@ -39,63 +39,52 @@
 extern int cflag, eval, fscale, nlistread, rawcpu;
 extern unsigned long mempages;
 extern time_t now;
-extern int showthreads, sumrusage, termwidth, totwidth;
+extern int showthreads, sumrusage, termwidth;
 extern STAILQ_HEAD(velisthead, varent) varlist;
 
 __BEGIN_DECLS
-void	 arguments(KINFO *, VARENT *);
-void	 command(KINFO *, VARENT *);
-void	 cputime(KINFO *, VARENT *);
+char	 *arguments(KINFO *, VARENT *);
+char	 *command(KINFO *, VARENT *);
+char	 *cputime(KINFO *, VARENT *);
 int	 donlist(void);
-void	 elapsed(KINFO *, VARENT *);
-void	 elapseds(KINFO *, VARENT *);
-void	 emulname(KINFO *, VARENT *);
+char	 *elapsed(KINFO *, VARENT *);
+char	 *elapseds(KINFO *, VARENT *);
+char	 *emulname(KINFO *, VARENT *);
 VARENT	*find_varentry(VAR *);
 const	 char *fmt_argv(char **, char *, size_t);
 double	 getpcpu(const KINFO *);
-void	 kvar(KINFO *, VARENT *);
-void	 label(KINFO *, VARENT *);
-void	 loginclass(KINFO *, VARENT *);
-void	 logname(KINFO *, VARENT *);
-void	 longtname(KINFO *, VARENT *);
-void	 lstarted(KINFO *, VARENT *);
-void	 maxrss(KINFO *, VARENT *);
-void	 lockname(KINFO *, VARENT *);
-void	 mwchan(KINFO *, VARENT *);
-void	 nwchan(KINFO *, VARENT *);
-void	 pagein(KINFO *, VARENT *);
+char	 *kvar(KINFO *, VARENT *);
+char	 *label(KINFO *, VARENT *);
+char	 *loginclass(KINFO *, VARENT *);
+char	 *logname(KINFO *, VARENT *);
+char	 *longtname(KINFO *, VARENT *);
+char	 *lstarted(KINFO *, VARENT *);
+char	 *maxrss(KINFO *, VARENT *);
+char	 *lockname(KINFO *, VARENT *);
+char	 *mwchan(KINFO *, VARENT *);
+char	 *nwchan(KINFO *, VARENT *);
+char	 *pagein(KINFO *, VARENT *);
 void	 parsefmt(const char *, int);
-void	 pcpu(KINFO *, VARENT *);
-void	 pmem(KINFO *, VARENT *);
-void	 pri(KINFO *, VARENT *);
+char	 *pcpu(KINFO *, VARENT *);
+char	 *pmem(KINFO *, VARENT *);
+char	 *pri(KINFO *, VARENT *);
 void	 printheader(void);
-void	 priorityr(KINFO *, VARENT *);
-void	 egroupname(KINFO *, VARENT *);
-void	 rgroupname(KINFO *, VARENT *);
-void	 runame(KINFO *, VARENT *);
-void	 rvar(KINFO *, VARENT *);
-int	 s_comm(KINFO *);
-int	 s_cputime(KINFO *);
-int	 s_label(KINFO *);
-int	 s_loginclass(KINFO *);
-int	 s_logname(KINFO *);
-int	 s_egroupname(KINFO *);
-int	 s_rgroupname(KINFO *);
-int	 s_runame(KINFO *);
-int	 s_systime(KINFO *);
-int	 s_uname(KINFO *);
-int	 s_usertime(KINFO *);
+char	 *priorityr(KINFO *, VARENT *);
+char	 *egroupname(KINFO *, VARENT *);
+char	 *rgroupname(KINFO *, VARENT *);
+char	 *runame(KINFO *, VARENT *);
+char	 *rvar(KINFO *, VARENT *);
 void	 showkey(void);
-void	 started(KINFO *, VARENT *);
-void	 state(KINFO *, VARENT *);
-void	 systime(KINFO *, VARENT *);
-void	 tdev(KINFO *, VARENT *);
-void	 tdnam(KINFO *, VARENT *);
-void	 tname(KINFO *, VARENT *);
-void	 ucomm(KINFO *, VARENT *);
-void	 uname(KINFO *, VARENT *);
-void	 upr(KINFO *, VARENT *);
-void	 usertime(KINFO *, VARENT *);
-void	 vsize(KINFO *, VARENT *);
-void	 wchan(KINFO *, VARENT *);
+char	 *started(KINFO *, VARENT *);
+char	 *state(KINFO *, VARENT *);
+char	 *systime(KINFO *, VARENT *);
+char	 *tdev(KINFO *, VARENT *);
+char	 *tdnam(KINFO *, VARENT *);
+char	 *tname(KINFO *, VARENT *);
+char	 *ucomm(KINFO *, VARENT *);
+char	 *uname(KINFO *, VARENT *);
+char	 *upr(KINFO *, VARENT *);
+char	 *usertime(KINFO *, VARENT *);
+char	 *vsize(KINFO *, VARENT *);
+char	 *wchan(KINFO *, VARENT *);
 __END_DECLS

==== //depot/projects/mjacob-dev/bin/ps/keyword.c#5 (text+ko) ====

@@ -33,7 +33,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/ps/keyword.c,v 1.91 2011/07/18 20:06:15 bz Exp $");
+__FBSDID("$FreeBSD: src/bin/ps/keyword.c,v 1.92 2011/09/29 06:31:42 trasz Exp $");
 
 #include <sys/param.h>
 #include <sys/time.h>
@@ -57,178 +57,116 @@
 #define	KOFF(x)	offsetof(struct kinfo_proc, x)
 #define	ROFF(x)	offsetof(struct rusage, x)
 
-#define	EMULLEN	13		/* enough for "FreeBSD ELF32" */
 #define	LWPFMT	"d"
-#define	LWPLEN	6
 #define	NLWPFMT	"d"
-#define	NLWPLEN	4
 #define	UIDFMT	"u"
-#define	UIDLEN	5
 #define	PIDFMT	"d"
-#define	PIDLEN	5
-#define USERLEN (MAXLOGNAME - 1)
 
 /* PLEASE KEEP THE TABLE BELOW SORTED ALPHABETICALLY!!! */
 static VAR var[] = {
-	{"%cpu", "%CPU", NULL, 0, pcpu, NULL, 5, 0, CHAR, NULL, 0},
-	{"%mem", "%MEM", NULL, 0, pmem, NULL, 4, 0, CHAR, NULL, 0},
-	{"acflag", "ACFLG", NULL, 0, kvar, NULL, 3, KOFF(ki_acflag), USHORT,
-		"x", 0},
-	{"acflg", "", "acflag", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"args", "COMMAND", NULL, COMM|LJUST|USER, arguments, NULL, 16, 0,
+	{"%cpu", "%CPU", NULL, 0, pcpu, 0, CHAR, NULL, 0},
+	{"%mem", "%MEM", NULL, 0, pmem, 0, CHAR, NULL, 0},
+	{"acflag", "ACFLG", NULL, 0, kvar, KOFF(ki_acflag), USHORT, "x", 0},
+	{"acflg", "", "acflag", 0, NULL, 0, CHAR, NULL, 0},
+	{"args", "COMMAND", NULL, COMM|LJUST|USER, arguments, 0,
 		CHAR, NULL, 0},
-	{"blocked", "", "sigmask", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"caught", "", "sigcatch", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"class", "CLASS", NULL, LJUST, loginclass, s_loginclass,
-		MAXLOGNAME-1, 0, CHAR, NULL, 0},
-	{"comm", "COMMAND", NULL, LJUST, ucomm, s_comm,
-		COMMLEN + TDNAMLEN + 1, 0, CHAR, NULL, 0},
-	{"command", "COMMAND", NULL, COMM|LJUST|USER, command, NULL, 16, 0,
+	{"blocked", "", "sigmask", 0, NULL, 0, CHAR, NULL, 0},
+	{"caught", "", "sigcatch", 0, NULL, 0, CHAR, NULL, 0},
+	{"class", "CLASS", NULL, LJUST, loginclass, 0, CHAR, NULL, 0},
+	{"comm", "COMMAND", NULL, LJUST, ucomm, 0, CHAR, NULL, 0},
+	{"command", "COMMAND", NULL, COMM|LJUST|USER, command, 0,
 		CHAR, NULL, 0},
-	{"cpu", "CPU", NULL, 0, kvar, NULL, 3, KOFF(ki_estcpu), UINT, "d",
-		0},
-	{"cputime", "", "time", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"egid", "", "gid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"egroup", "", "group", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"emul", "EMUL", NULL, LJUST, emulname, NULL, EMULLEN, 0, CHAR,
-		NULL, 0},
-	{"etime", "ELAPSED", NULL, USER, elapsed, NULL, 12, 0, CHAR, NULL, 0},
-	{"etimes", "ELAPSED", NULL, USER, elapseds, NULL, 12, 0, CHAR, NULL, 0},
-	{"euid", "", "uid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"f", "F", NULL, 0, kvar, NULL, 8, KOFF(ki_flag), INT, "x", 0},
-	{"flags", "", "f", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"gid", "GID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_groups),
-		UINT, UIDFMT, 0},
-	{"group", "GROUP", NULL, LJUST, egroupname, s_egroupname,
-	    USERLEN, 0, CHAR, NULL, 0},
-	{"ignored", "", "sigignore", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"inblk", "INBLK", NULL, USER, rvar, NULL, 4, ROFF(ru_inblock), LONG,
-		"ld", 0},
-	{"inblock", "", "inblk", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"jid", "JID", NULL, 0, kvar, NULL, 6, KOFF(ki_jid), INT, "d", 0},
-	{"jobc", "JOBC", NULL, 0, kvar, NULL, 4, KOFF(ki_jobc), SHORT, "d",
-		0},
-	{"ktrace", "KTRACE", NULL, 0, kvar, NULL, 8, KOFF(ki_traceflag), INT,
-		"x", 0},
-	{"label", "LABEL", NULL, LJUST, label, s_label, SHRT_MAX, 0, CHAR,
-	    NULL, 0},
-	{"lim", "LIM", NULL, 0, maxrss, NULL, 5, 0, CHAR, NULL, 0},
-	{"lockname", "LOCK", NULL, LJUST, lockname, NULL, 6, 0, CHAR, NULL,
-		0},
-	{"login", "LOGIN", NULL, LJUST, logname, s_logname, MAXLOGNAME-1,
-		0, CHAR, NULL, 0},
-	{"logname", "", "login", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"lstart", "STARTED", NULL, LJUST|USER, lstarted, NULL, 28, 0, CHAR,
-		NULL, 0},
-	{"lwp", "LWP", NULL, 0, kvar, NULL, LWPLEN, KOFF(ki_tid), UINT,
-		LWPFMT, 0},
-	{"majflt", "MAJFLT", NULL, USER, rvar, NULL, 4, ROFF(ru_majflt),
-		LONG, "ld", 0},
-	{"minflt", "MINFLT", NULL, USER, rvar, NULL, 4, ROFF(ru_minflt),
-		LONG, "ld", 0},
-	{"msgrcv", "MSGRCV", NULL, USER, rvar, NULL, 4, ROFF(ru_msgrcv),
-		LONG, "ld", 0},
-	{"msgsnd", "MSGSND", NULL, USER, rvar, NULL, 4, ROFF(ru_msgsnd),
-		LONG, "ld", 0},
-	{"mwchan", "MWCHAN", NULL, LJUST, mwchan, NULL, 6, 0, CHAR, NULL, 0},
-	{"ni", "", "nice", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"nice", "NI", NULL, 0, kvar, NULL, 2, KOFF(ki_nice), CHAR, "d",
-		0},
-	{"nivcsw", "NIVCSW", NULL, USER, rvar, NULL, 5, ROFF(ru_nivcsw),
-		LONG, "ld", 0},
-	{"nlwp", "NLWP", NULL, 0, kvar, NULL, NLWPLEN, KOFF(ki_numthreads),
-		UINT, NLWPFMT, 0},
-	{"nsignals", "", "nsigs", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"nsigs", "NSIGS", NULL, USER, rvar, NULL, 4, ROFF(ru_nsignals),
-		LONG, "ld", 0},
-	{"nswap", "NSWAP", NULL, USER, rvar, NULL, 4, ROFF(ru_nswap),
-		LONG, "ld", 0},
-	{"nvcsw", "NVCSW", NULL, USER, rvar, NULL, 5, ROFF(ru_nvcsw),
-		LONG, "ld", 0},
-	{"nwchan", "NWCHAN", NULL, LJUST, nwchan, NULL, sizeof(void *) * 2, 0,
-		CHAR, NULL, 0},
-	{"oublk", "OUBLK", NULL, USER, rvar, NULL, 4, ROFF(ru_oublock),
-		LONG, "ld", 0},
-	{"oublock", "", "oublk", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"paddr", "PADDR", NULL, 0, kvar, NULL, sizeof(void *) * 2,
-		KOFF(ki_paddr), KPTR, "lx", 0},
-	{"pagein", "PAGEIN", NULL, USER, pagein, NULL, 6, 0, CHAR, NULL, 0},
-	{"pcpu", "", "%cpu", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"pending", "", "sig", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"pgid", "PGID", NULL, 0, kvar, NULL, PIDLEN, KOFF(ki_pgid), UINT,
-		PIDFMT, 0},
-	{"pid", "PID", NULL, 0, kvar, NULL, PIDLEN, KOFF(ki_pid), UINT,
-		PIDFMT, 0},
-	{"pmem", "", "%mem", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"ppid", "PPID", NULL, 0, kvar, NULL, PIDLEN, KOFF(ki_ppid), UINT,
-		PIDFMT, 0},
-	{"pri", "PRI", NULL, 0, pri, NULL, 3, 0, CHAR, NULL, 0},
-	{"re", "RE", NULL, INF127, kvar, NULL, 3, KOFF(ki_swtime), UINT, "d",
-		0},
-	{"rgid", "RGID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_rgid),
-		UINT, UIDFMT, 0},
-	{"rgroup", "RGROUP", NULL, LJUST, rgroupname, s_rgroupname,
-		USERLEN, 0, CHAR, NULL, 0},
-	{"rss", "RSS", NULL, 0, kvar, NULL, 6, KOFF(ki_rssize), PGTOK, "ld", 0},
-	{"rtprio", "RTPRIO", NULL, 0, priorityr, NULL, 7, KOFF(ki_pri), CHAR,
-		NULL, 0},
-	{"ruid", "RUID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_ruid),
-		UINT, UIDFMT, 0},
-	{"ruser", "RUSER", NULL, LJUST, runame, s_runame, USERLEN,
-		0, CHAR, NULL, 0},
-	{"sid", "SID", NULL, 0, kvar, NULL, PIDLEN, KOFF(ki_sid), UINT,
-		PIDFMT, 0},
-	{"sig", "PENDING", NULL, 0, kvar, NULL, 8, KOFF(ki_siglist), INT,
-		"x", 0},
-	{"sigcatch", "CAUGHT", NULL, 0, kvar, NULL, 8, KOFF(ki_sigcatch),
+	{"cpu", "CPU", NULL, 0, kvar, KOFF(ki_estcpu), UINT, "d", 0},
+	{"cputime", "", "time", 0, NULL, 0, CHAR, NULL, 0},
+	{"egid", "", "gid", 0, NULL, 0, CHAR, NULL, 0},
+	{"egroup", "", "group", 0, NULL, 0, CHAR, NULL, 0},
+	{"emul", "EMUL", NULL, LJUST, emulname, 0, CHAR, NULL, 0},
+	{"etime", "ELAPSED", NULL, USER, elapsed, 0, CHAR, NULL, 0},
+	{"etimes", "ELAPSED", NULL, USER, elapseds, 0, CHAR, NULL, 0},
+	{"euid", "", "uid", 0, NULL, 0, CHAR, NULL, 0},
+	{"f", "F", NULL, 0, kvar, KOFF(ki_flag), INT, "x", 0},
+	{"flags", "", "f", 0, NULL, 0, CHAR, NULL, 0},
+	{"gid", "GID", NULL, 0, kvar, KOFF(ki_groups), UINT, UIDFMT, 0},
+	{"group", "GROUP", NULL, LJUST, egroupname, 0, CHAR, NULL, 0},
+	{"ignored", "", "sigignore", 0, NULL, 0, CHAR, NULL, 0},
+	{"inblk", "INBLK", NULL, USER, rvar, ROFF(ru_inblock), LONG, "ld", 0},
+	{"inblock", "", "inblk", 0, NULL, 0, CHAR, NULL, 0},
+	{"jid", "JID", NULL, 0, kvar, KOFF(ki_jid), INT, "d", 0},
+	{"jobc", "JOBC", NULL, 0, kvar, KOFF(ki_jobc), SHORT, "d", 0},
+	{"ktrace", "KTRACE", NULL, 0, kvar, KOFF(ki_traceflag), INT, "x", 0},
+	{"label", "LABEL", NULL, LJUST, label, 0, CHAR, NULL, 0},
+	{"lim", "LIM", NULL, 0, maxrss, 0, CHAR, NULL, 0},
+	{"lockname", "LOCK", NULL, LJUST, lockname, 0, CHAR, NULL, 0},
+	{"login", "LOGIN", NULL, LJUST, logname, 0, CHAR, NULL, 0},
+	{"logname", "", "login", 0, NULL, 0, CHAR, NULL, 0},
+	{"lstart", "STARTED", NULL, LJUST|USER, lstarted, 0, CHAR, NULL, 0},
+	{"lwp", "LWP", NULL, 0, kvar, KOFF(ki_tid), UINT, LWPFMT, 0},
+	{"majflt", "MAJFLT", NULL, USER, rvar, ROFF(ru_majflt), LONG, "ld", 0},
+	{"minflt", "MINFLT", NULL, USER, rvar, ROFF(ru_minflt), LONG, "ld", 0},
+	{"msgrcv", "MSGRCV", NULL, USER, rvar, ROFF(ru_msgrcv), LONG, "ld", 0},
+	{"msgsnd", "MSGSND", NULL, USER, rvar, ROFF(ru_msgsnd), LONG, "ld", 0},
+	{"mwchan", "MWCHAN", NULL, LJUST, mwchan, 0, CHAR, NULL, 0},
+	{"ni", "", "nice", 0, NULL, 0, CHAR, NULL, 0},
+	{"nice", "NI", NULL, 0, kvar, KOFF(ki_nice), CHAR, "d", 0},
+	{"nivcsw", "NIVCSW", NULL, USER, rvar, ROFF(ru_nivcsw), LONG, "ld", 0},
+	{"nlwp", "NLWP", NULL, 0, kvar, KOFF(ki_numthreads), UINT, NLWPFMT, 0},
+	{"nsignals", "", "nsigs", 0, NULL, 0, CHAR, NULL, 0},
+	{"nsigs", "NSIGS", NULL, USER, rvar, ROFF(ru_nsignals), LONG, "ld", 0},
+	{"nswap", "NSWAP", NULL, USER, rvar, ROFF(ru_nswap), LONG, "ld", 0},
+	{"nvcsw", "NVCSW", NULL, USER, rvar, ROFF(ru_nvcsw), LONG, "ld", 0},
+	{"nwchan", "NWCHAN", NULL, LJUST, nwchan, 0, CHAR, NULL, 0},
+	{"oublk", "OUBLK", NULL, USER, rvar, ROFF(ru_oublock), LONG, "ld", 0},
+	{"oublock", "", "oublk", 0, NULL, 0, CHAR, NULL, 0},
+	{"paddr", "PADDR", NULL, 0, kvar, KOFF(ki_paddr), KPTR, "lx", 0},
+	{"pagein", "PAGEIN", NULL, USER, pagein, 0, CHAR, NULL, 0},
+	{"pcpu", "", "%cpu", 0, NULL, 0, CHAR, NULL, 0},
+	{"pending", "", "sig", 0, NULL, 0, CHAR, NULL, 0},
+	{"pgid", "PGID", NULL, 0, kvar, KOFF(ki_pgid), UINT, PIDFMT, 0},
+	{"pid", "PID", NULL, 0, kvar, KOFF(ki_pid), UINT, PIDFMT, 0},
+	{"pmem", "", "%mem", 0, NULL, 0, CHAR, NULL, 0},
+	{"ppid", "PPID", NULL, 0, kvar, KOFF(ki_ppid), UINT, PIDFMT, 0},
+	{"pri", "PRI", NULL, 0, pri, 0, CHAR, NULL, 0},
+	{"re", "RE", NULL, INF127, kvar, KOFF(ki_swtime), UINT, "d", 0},
+	{"rgid", "RGID", NULL, 0, kvar, KOFF(ki_rgid), UINT, UIDFMT, 0},
+	{"rgroup", "RGROUP", NULL, LJUST, rgroupname, 0, CHAR, NULL, 0},
+	{"rss", "RSS", NULL, 0, kvar, KOFF(ki_rssize), PGTOK, "ld", 0},
+	{"rtprio", "RTPRIO", NULL, 0, priorityr, KOFF(ki_pri), CHAR, NULL, 0},
+	{"ruid", "RUID", NULL, 0, kvar, KOFF(ki_ruid), UINT, UIDFMT, 0},
+	{"ruser", "RUSER", NULL, LJUST, runame, 0, CHAR, NULL, 0},
+	{"sid", "SID", NULL, 0, kvar, KOFF(ki_sid), UINT, PIDFMT, 0},
+	{"sig", "PENDING", NULL, 0, kvar, KOFF(ki_siglist), INT, "x", 0},
+	{"sigcatch", "CAUGHT", NULL, 0, kvar, KOFF(ki_sigcatch), UINT, "x", 0},
+	{"sigignore", "IGNORED", NULL, 0, kvar, KOFF(ki_sigignore),
 		UINT, "x", 0},
-	{"sigignore", "IGNORED", NULL, 0, kvar, NULL, 8, KOFF(ki_sigignore),
-		UINT, "x", 0},
-	{"sigmask", "BLOCKED", NULL, 0, kvar, NULL, 8, KOFF(ki_sigmask),
-		UINT, "x", 0},
-	{"sl", "SL", NULL, INF127, kvar, NULL, 3, KOFF(ki_slptime), UINT, "d",
-		0},
-	{"start", "STARTED", NULL, LJUST|USER, started, NULL, 7, 0, CHAR, NULL,
-		0},
-	{"stat", "", "state", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"state", "STAT", NULL, 0, state, NULL, 4, 0, CHAR, NULL, 0},
-	{"svgid", "SVGID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_svgid),
-		UINT, UIDFMT, 0},
-	{"svuid", "SVUID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_svuid),
-		UINT, UIDFMT, 0},
-	{"systime", "SYSTIME", NULL, USER, systime, s_systime, 15, 0, CHAR,
-		NULL, 0},
-	{"tdaddr", "TDADDR", NULL, 0, kvar, NULL, sizeof(void *) * 2,
-		KOFF(ki_tdaddr), KPTR, "lx", 0},
-	{"tdev", "TDEV", NULL, 0, tdev, NULL, 5, 0, CHAR, NULL, 0},
-	{"tdnam", "TDNAM", NULL, LJUST, tdnam, NULL, COMMLEN, 0, CHAR, NULL, 0},
-	{"time", "TIME", NULL, USER, cputime, s_cputime, 15, 0, CHAR,
-		NULL, 0},
-	{"tpgid", "TPGID", NULL, 0, kvar, NULL, 4, KOFF(ki_tpgid), UINT,
-		PIDFMT, 0},
-	{"tsid", "TSID", NULL, 0, kvar, NULL, PIDLEN, KOFF(ki_tsid), UINT,
-		PIDFMT, 0},
-	{"tsiz", "TSIZ", NULL, 0, kvar, NULL, 4, KOFF(ki_tsize), PGTOK, "ld", 0},
-	{"tt", "TT ", NULL, 0, tname, NULL, 4, 0, CHAR, NULL, 0},
-	{"tty", "TTY", NULL, LJUST, longtname, NULL, 8, 0, CHAR, NULL, 0},
-	{"ucomm", "UCOMM", NULL, LJUST, ucomm, s_comm,
-		COMMLEN + TDNAMLEN + 1, 0, CHAR, NULL, 0},
-	{"uid", "UID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_uid), UINT,
-		UIDFMT, 0},
-	{"upr", "UPR", NULL, 0, upr, NULL, 3, 0, CHAR, NULL, 0},
-	{"uprocp", "UPROCP", NULL, 0, kvar, NULL, sizeof(void *) * 2,
-		KOFF(ki_paddr), KPTR, "lx", 0},
-	{"user", "USER", NULL, LJUST, uname, s_uname, USERLEN, 0, CHAR,
-		NULL, 0},
-	{"usertime", "USERTIME", NULL, USER, usertime, s_usertime, 15, 0,
-		CHAR, NULL, 0},
-	{"usrpri", "", "upr", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"vsize", "", "vsz", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"vsz", "VSZ", NULL, 0, vsize, NULL, 6, 0, CHAR, NULL, 0},
-	{"wchan", "WCHAN", NULL, LJUST, wchan, NULL, 6, 0, CHAR, NULL, 0},
-	{"xstat", "XSTAT", NULL, 0, kvar, NULL, 4, KOFF(ki_xstat), USHORT,
-		"x", 0},
-	{"", NULL, NULL, 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
+	{"sigmask", "BLOCKED", NULL, 0, kvar, KOFF(ki_sigmask), UINT, "x", 0},
+	{"sl", "SL", NULL, INF127, kvar, KOFF(ki_slptime), UINT, "d", 0},
+	{"start", "STARTED", NULL, LJUST|USER, started, 0, CHAR, NULL, 0},
+	{"stat", "", "state", 0, NULL, 0, CHAR, NULL, 0},
+	{"state", "STAT", NULL, LJUST, state, 0, CHAR, NULL, 0},
+	{"svgid", "SVGID", NULL, 0, kvar, KOFF(ki_svgid), UINT, UIDFMT, 0},
+	{"svuid", "SVUID", NULL, 0, kvar, KOFF(ki_svuid), UINT, UIDFMT, 0},
+	{"systime", "SYSTIME", NULL, USER, systime, 0, CHAR, NULL, 0},
+	{"tdaddr", "TDADDR", NULL, 0, kvar, KOFF(ki_tdaddr), KPTR, "lx", 0},
+	{"tdev", "TDEV", NULL, 0, tdev, 0, CHAR, NULL, 0},
+	{"tdnam", "TDNAM", NULL, LJUST, tdnam, 0, CHAR, NULL, 0},
+	{"time", "TIME", NULL, USER, cputime, 0, CHAR, NULL, 0},
+	{"tpgid", "TPGID", NULL, 0, kvar, KOFF(ki_tpgid), UINT, PIDFMT, 0},
+	{"tsid", "TSID", NULL, 0, kvar, KOFF(ki_tsid), UINT, PIDFMT, 0},
+	{"tsiz", "TSIZ", NULL, 0, kvar, KOFF(ki_tsize), PGTOK, "ld", 0},
+	{"tt", "TT ", NULL, 0, tname, 0, CHAR, NULL, 0},
+	{"tty", "TTY", NULL, LJUST, longtname, 0, CHAR, NULL, 0},
+	{"ucomm", "UCOMM", NULL, LJUST, ucomm, 0, CHAR, NULL, 0},
+	{"uid", "UID", NULL, 0, kvar, KOFF(ki_uid), UINT, UIDFMT, 0},
+	{"upr", "UPR", NULL, 0, upr, 0, CHAR, NULL, 0},
+	{"uprocp", "UPROCP", NULL, 0, kvar, KOFF(ki_paddr), KPTR, "lx", 0},
+	{"user", "USER", NULL, LJUST, uname, 0, CHAR, NULL, 0},
+	{"usertime", "USERTIME", NULL, USER, usertime, 0, CHAR, NULL, 0},
+	{"usrpri", "", "upr", 0, NULL, 0, CHAR, NULL, 0},
+	{"vsize", "", "vsz", 0, NULL, 0, CHAR, NULL, 0},
+	{"vsz", "VSZ", NULL, 0, vsize, 0, CHAR, NULL, 0},
+	{"wchan", "WCHAN", NULL, LJUST, wchan, 0, CHAR, NULL, 0},
+	{"xstat", "XSTAT", NULL, 0, kvar, KOFF(ki_xstat), USHORT, "x", 0},
+	{"", NULL, NULL, 0, NULL, 0, CHAR, NULL, 0},
 };
 
 void

==== //depot/projects/mjacob-dev/bin/ps/print.c#6 (text+ko) ====

@@ -34,7 +34,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/ps/print.c,v 1.108 2011/07/18 20:06:15 bz Exp $");
+__FBSDID("$FreeBSD: src/bin/ps/print.c,v 1.110 2011/09/29 06:31:42 trasz Exp $");
 
 #include <sys/param.h>
 #include <sys/time.h>
@@ -64,6 +64,9 @@
 
 #include "ps.h"
 
+#define	COMMAND_WIDTH	16
+#define	ARGUMENTS_WIDTH	16
+
 #define	ps_pgtok(a)	(((a) * getpagesize()) / 1024)
 
 void
@@ -93,53 +96,42 @@
 	(void)putchar('\n');
 }
 
-void
+char *
 arguments(KINFO *k, VARENT *ve)
 {
 	VAR *v;
-	int left;
-	char *cp, *vis_args;
+	char *vis_args;
 
 	v = ve->var;
 	if ((vis_args = malloc(strlen(k->ki_args) * 4 + 1)) == NULL)
 		errx(1, "malloc failed");
 	strvis(vis_args, k->ki_args, VIS_TAB | VIS_NL | VIS_NOSLASH);
-	if (STAILQ_NEXT(ve, next_ve) == NULL) {
-		/* last field */
-		if (termwidth == UNLIMITED) {
-			(void)printf("%s", vis_args);
-		} else {
-			left = termwidth - (totwidth - v->width);
-			if (left < 1) /* already wrapped, just use std width */
-				left = v->width;
-			for (cp = vis_args; --left >= 0 && *cp != '\0';)
-				(void)putchar(*cp++);
-		}
-	} else {
-		(void)printf("%-*.*s", v->width, v->width, vis_args);
-	}
-	free(vis_args);
+
+	if (STAILQ_NEXT(ve, next_ve) != NULL && strlen(vis_args) > ARGUMENTS_WIDTH)
+		vis_args[ARGUMENTS_WIDTH] = '\0';
+
+	return (vis_args);
 }
 
-void
+char *
 command(KINFO *k, VARENT *ve)
 {
 	VAR *v;
-	int left;
-	char *cp, *vis_env, *vis_args;
+	char *vis_args, *vis_env, *str;
 
 	v = ve->var;
 	if (cflag) {
 		/* If it is the last field, then don't pad */
 		if (STAILQ_NEXT(ve, next_ve) == NULL) {
-			if (k->ki_d.prefix)
-				(void)printf("%s", k->ki_d.prefix);
-			(void)printf("%s", k->ki_p->ki_comm);
-			if (showthreads && k->ki_p->ki_numthreads > 1)
-				(void)printf("/%s", k->ki_p->ki_tdname);
+			asprintf(&str, "%s%s%s%s",
+			    k->ki_d.prefix ? k->ki_d.prefix : "",
+			    k->ki_p->ki_comm,
+			    (showthreads && k->ki_p->ki_numthreads > 1) ? "/" : "",
+			    (showthreads && k->ki_p->ki_numthreads > 1) ? k->ki_p->ki_tdname : "");
 		} else
-			(void)printf("%-*s", v->width, k->ki_p->ki_comm);
-		return;
+			str = strdup(k->ki_p->ki_comm);
+
+		return (str);
 	}
 	if ((vis_args = malloc(strlen(k->ki_args) * 4 + 1)) == NULL)
 		errx(1, "malloc failed");
@@ -157,89 +149,84 @@
 		} else
 			vis_env = NULL;
 
-		if (termwidth == UNLIMITED) {
-			if (k->ki_d.prefix)
-				(void)printf("%s", k->ki_d.prefix);
-			if (vis_env)
-				(void)printf("%s ", vis_env);
-			(void)printf("%s", vis_args);
-		} else {
-			left = termwidth - (totwidth - v->width);
-			if (left < 1) /* already wrapped, just use std width */
-				left = v->width;
-			if ((cp = k->ki_d.prefix) != NULL)
-				while (--left >= 0 && *cp)
-					(void)putchar(*cp++);
-			if ((cp = vis_env) != NULL) {
-				while (--left >= 0 && *cp)
-					(void)putchar(*cp++);
-				if (--left >= 0)
-					putchar(' ');
-			}
-			for (cp = vis_args; --left >= 0 && *cp != '\0';)
-				(void)putchar(*cp++);
-		}
+		asprintf(&str, "%s%s%s%s",
+		    k->ki_d.prefix ? k->ki_d.prefix : "",
+		    vis_env ? vis_env : "",
+		    vis_env ? " " : "",
+		    vis_args);
+
 		if (vis_env != NULL)
 			free(vis_env);
-	} else
+		free(vis_args);
+	} else {
 		/* ki_d.prefix & ki_env aren't shown for interim fields */
-		(void)printf("%-*.*s", v->width, v->width, vis_args);
-	free(vis_args);
+		str = vis_args;
+
+		if (strlen(str) > COMMAND_WIDTH)
+			str[COMMAND_WIDTH] = '\0';
+	}
+
+	return (str);
 }
 
-void
+char *
 ucomm(KINFO *k, VARENT *ve)
 {
-	char tmpbuff[COMMLEN + TDNAMLEN + 2];
 	VAR *v;
+	char *str;
 
 	v = ve->var;
 	if (STAILQ_NEXT(ve, next_ve) == NULL) {	/* last field, don't pad */
-		if (k->ki_d.prefix)
-			(void)printf("%s", k->ki_d.prefix);
-		(void)printf("%s", k->ki_p->ki_comm);
-		if (showthreads && k->ki_p->ki_numthreads > 1)
-			printf("/%s", k->ki_p->ki_tdname);
+		asprintf(&str, "%s%s%s%s",
+		    k->ki_d.prefix ? k->ki_d.prefix : "",
+		    k->ki_p->ki_comm,
+		    (showthreads && k->ki_p->ki_numthreads > 1) ? "/" : "",
+		    (showthreads && k->ki_p->ki_numthreads > 1) ? k->ki_p->ki_tdname : "");
 	} else {
-		bzero(tmpbuff, sizeof(tmpbuff));
 		if (showthreads && k->ki_p->ki_numthreads > 1)
-			sprintf(tmpbuff, "%s/%s", k->ki_p->ki_comm,
-			    k->ki_p->ki_tdname);
+			asprintf(&str, "%s/%s", k->ki_p->ki_comm, k->ki_p->ki_tdname);
 		else
-			sprintf(tmpbuff, "%s", k->ki_p->ki_comm);
-		(void)printf("%-*s", v->width, tmpbuff);
+			str = strdup(k->ki_p->ki_comm);
 	}
+	return (str);
 }
 
-void

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



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