Module Name:    src
Committed By:   kre
Date:           Tue Sep  4 01:09:29 UTC 2018

Modified Files:
        src/bin/sh: jobs.c

Log Message:
PR bin/38004

Save more characters of command in non-interactive jobs, in case of
core dumps and similar (16 effective chars was a few too little).

Arrange for number to increase if command buffer size increases.


To generate a diff of this commit:
cvs rdiff -u -r1.98 -r1.99 src/bin/sh/jobs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/bin/sh/jobs.c
diff -u src/bin/sh/jobs.c:1.98 src/bin/sh/jobs.c:1.99
--- src/bin/sh/jobs.c:1.98	Sat Dec 30 23:24:19 2017
+++ src/bin/sh/jobs.c	Tue Sep  4 01:09:28 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: jobs.c,v 1.98 2017/12/30 23:24:19 kre Exp $	*/
+/*	$NetBSD: jobs.c,v 1.99 2018/09/04 01:09:28 kre Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)jobs.c	8.5 (Berkeley) 5/4/95";
 #else
-__RCSID("$NetBSD: jobs.c,v 1.98 2017/12/30 23:24:19 kre Exp $");
+__RCSID("$NetBSD: jobs.c,v 1.99 2018/09/04 01:09:28 kre Exp $");
 #endif
 #endif /* not lint */
 
@@ -1509,8 +1509,12 @@ commandtext(struct procstat *ps, union n
 	int len;
 
 	cmdnextc = ps->cmd;
-	if (iflag || mflag || sizeof ps->cmd < 100)
+	if (iflag || mflag || sizeof(ps->cmd) <= 60)
 		len = sizeof(ps->cmd);
+	else if (sizeof ps->cmd <= 400)
+		len = 50;
+	else if (sizeof ps->cmd <= 800)
+		len = 80;
 	else
 		len = sizeof(ps->cmd) / 10;
 	cmdnleft = len;
@@ -1525,7 +1529,7 @@ commandtext(struct procstat *ps, union n
 		*cmdnextc = '\0';
 
 	VTRACE(DBG_JOBS,
-	    ("commandtext: ps->cmd %x, end %x, left %d\n\t\"%s\"\n",
+	    ("commandtext: ps->cmd %p, end %p, left %d\n\t\"%s\"\n",
 	    ps->cmd, cmdnextc, cmdnleft, ps->cmd));
 }
 

Reply via email to