File procps-3.2.2-w-notruncate.diff of Package procps

Only in procps-3.2.0/proc: .depend
Only in procps-3.2.0/proc: alloc.o
Only in procps-3.2.0/proc: devname.o
Only in procps-3.2.0/proc: escape.o
Only in procps-3.2.0/proc: ksym.o
Only in procps-3.2.0/proc: libproc.a
Only in procps-3.2.0/proc: prof.o
Only in procps-3.2.0/proc: pwcache.o
Only in procps-3.2.0/proc: readproc.o
Only in procps-3.2.0/proc: sig.o
Only in procps-3.2.0/proc: slab.o
Only in procps-3.2.0/proc: status.o
Only in procps-3.2.0/proc: sysinfo.o
Only in procps-3.2.0/proc: version.o
Only in procps-3.2.0/proc: whattime.o
Only in procps-3.2.0: w
================================================================================
--- procps-3.2.5/w.c
+++ procps-3.2.5/w.c
@@ -191,7 +191,25 @@
 	return;
 
     strncpy(uname, u->ut_user, USERSZ);		/* force NUL term for printf */
-    if (formtype) {
+    switch(formtype) {
+    case 2:
+	printf("%s %s", uname, u->ut_line);
+	if (from)
+	    print_host(u->ut_host, sizeof u->ut_host);
+	print_logintime(u->ut_time, stdout);
+	if (*u->ut_line == ':')			/* idle unknown for xdm logins */
+	    printf(" ?xdm? ");
+	else
+	    print_time_ival7(idletime(tty), 0, stdout);
+	print_time_ival7(jcpu/Hertz, (jcpu%Hertz)*(100./Hertz), stdout);
+	if (best) {
+	    unsigned long long pcpu = best->utime + best->stime;
+	    print_time_ival7(pcpu/Hertz, (pcpu%Hertz)*(100./Hertz), stdout);
+	} else
+	    printf("   ?   ");
+        break;
+
+    case 1:
 	printf("%-9.8s%-9.8s", uname, u->ut_line);
 	if (from)
 	    print_host(u->ut_host, sizeof u->ut_host);
@@ -206,7 +224,8 @@
 	    print_time_ival7(pcpu/Hertz, (pcpu%Hertz)*(100./Hertz), stdout);
 	} else
 	    printf("   ?   ");
-    } else {
+        break;
+    case 0:
 	printf("%-9.8s%-9.8s", u->ut_user, u->ut_line);
 	if (from)
 	    print_host(u->ut_host, sizeof u->ut_host);
@@ -214,6 +233,8 @@
 	    printf(" ?xdm? ");
 	else
 	    print_time_ival7(idletime(tty), 0, stdout);
+
+        break;
     }
     fputs(" ", stdout);
     if (likely(best)) {
@@ -238,11 +259,12 @@
 #endif
 
     setlocale(LC_ALL, "");
-    for (args=0; (ch = getopt(argc, argv, "hlusfV")) != EOF; args++)
+    for (args=0; (ch = getopt(argc, argv, "hlusnfV")) != EOF; args++)
 	switch (ch) {
 	  case 'h': header = 0;		break;
 	  case 'l': longform = 1;	break;
 	  case 's': longform = 0;	break;
+	  case 'n': longform = 2; header=0; break;
 	  case 'f': from = !from;	break;
 	  case 'V': display_version();	exit(0);
 	  case 'u': ignoreuser = 1;	break;
@@ -251,6 +273,7 @@
 		   "    -h    skip header\n"
 		   "    -l    long listing (default)\n"
 		   "    -s    short listing\n"
+		   "    -n    non truncated listing (large)\n"
 		   "    -u    ignore uid of processes\n"
 		   "    -f    toggle FROM field (default %s)\n"
 		   "    -V    display version\n", FROM_STRING);
openSUSE Build Service is sponsored by