ps: fix overflow in USER and VSZ columns

function                                             old     new   delta
smart_ulltoa4                                          -     280    +280
smart_ulltoa5                                        283     408    +125
ulltoa6_and_space                                      -      25     +25
scale                                                 28      38     +10
bbunpack                                             358     366      +8
ps_main                                              259     261      +2
glob3                                                 35      37      +2
fill_bounds                                          172     174      +2
process_stdin                                        456     446     -10
smart_ulltoa6                                        406       -    -406
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 6/1 up/down: 454/-416)           Total: 38 bytes

diff --git a/procps/ps.c b/procps/ps.c
index a6c35f1..6a6a9e6 100644
--- a/procps/ps.c
+++ b/procps/ps.c
@@ -25,9 +25,9 @@
 
 #if ENABLE_SELINUX
 #define SELINIX_O_PREFIX "label,"
-#define DEFAULT_O_STR    (SELINIX_O_PREFIX "pid,user" USE_FEATURE_PS_TIME(",time"))
+#define DEFAULT_O_STR    (SELINIX_O_PREFIX "pid,user" USE_FEATURE_PS_TIME(",time") ",args")
 #else
-#define DEFAULT_O_STR    ("pid,user" USE_FEATURE_PS_TIME(",time"))
+#define DEFAULT_O_STR    ("pid,user" USE_FEATURE_PS_TIME(",time") ",args")
 #endif
 
 typedef struct {
@@ -188,7 +188,10 @@
 static void put_lu(char *buf, int size, unsigned long u)
 {
 	char buf5[5];
-	smart_ulltoa5( ((unsigned long long)u) << 10, buf5);
+
+	/* see http://en.wikipedia.org/wiki/Tera */
+	smart_ulltoa4( (u, buf5, " mgtpezy");
+	buf5[5] = '\0';
 	sprintf(buf, "%.*s", size, buf5);
 }
 
@@ -505,9 +508,9 @@
 #endif /* ENABLE_FEATURE_PS_WIDE || ENABLE_SELINUX */
 
 	if (use_selinux)
-		puts("  PID Context                          Stat Command");
+		puts("  PID CONTEXT                          STAT COMMAND");
 	else
-		puts("  PID  Uid        VSZ Stat Command");
+		puts("  PID USER       VSZ STAT COMMAND");
 
 	while ((p = procps_scan(p, 0
 			| PSSCAN_PID
@@ -519,7 +522,7 @@
 	))) {
 #if ENABLE_SELINUX
 		if (use_selinux) {
-			len = printf("%5u %-32s %s ",
+			len = printf("%5u %-32.32s %s ",
 					p->pid,
 					p->context ? p->context : "unknown",
 					p->state);
@@ -527,12 +530,17 @@
 #endif
 		{
 			const char *user = get_cached_username(p->uid);
-			if (p->vsz == 0)
-				len = printf("%5u %-8s        %s ",
-					p->pid, user, p->state);
-			else
-				len = printf("%5u %-8s %6lu %s ",
-					p->pid, user, p->vsz, p->state);
+			//if (p->vsz == 0)
+			//	len = printf("%5u %-8.8s        %s ",
+			//		p->pid, user, p->state);
+			//else
+			{
+				char buf6[6];
+				smart_ulltoa5(p->vsz, buf6, " mgtpezy");
+				buf6[5] = '\0';
+				len = printf("%5u %-8.8s %s %s ",
+					p->pid, user, buf6, p->state);
+			}
 		}
 
 		{