Date: Fri, 28 Dec 2001 05:29:16 -0800 (PST) From: Dimitri Lommers <dimitri@hinttech.com> To: freebsd-gnats-submit@FreeBSD.org Subject: bin/33275: ps(1) should ignore termwidth when output is not to a tty (patch) Message-ID: <200112281329.fBSDTGR51108@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 33275
>Category: bin
>Synopsis: ps(1) should ignore termwidth when output is not to a tty (patch)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Dec 28 05:30:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Dimitri Lommers
>Release: 4.3-RELEASE
>Organization:
Hinttech Internetwork Technologies
>Environment:
ps.c version:
$FreeBSD: src/bin/ps/ps.c,v 1.30.2.2 2001/01/23 15:08:37 asmodai Exp $
>Description:
When ps(1) is called and output is not to a terminal, it should
not limit the line length to the size of the terminal it was called from.
This problem prevents i.e. 'ps aux | grep <something>' from working
if the output is larger than the (x)terminal window size.
>How-To-Repeat:
>Fix:
# diff -c ps.c.org ps.c
*** ps.c.org Tue Jan 23 16:08:37 2001
--- ps.c Fri Dec 28 14:51:22 2001
***************
*** 130,142 ****
(void) setlocale(LC_ALL, "");
! if ((ioctl(STDOUT_FILENO, TIOCGWINSZ, (char *)&ws) == -1 &&
! ioctl(STDERR_FILENO, TIOCGWINSZ, (char *)&ws) == -1 &&
! ioctl(STDIN_FILENO, TIOCGWINSZ, (char *)&ws) == -1) ||
! ws.ws_col == 0)
! termwidth = 79;
else
! termwidth = ws.ws_col - 1;
if (argc > 1)
argv[1] = kludge_oldps_options(argv[1]);
--- 130,141 ----
(void) setlocale(LC_ALL, "");
! if (isatty(STDOUT_FILENO))
! if ((ioctl(STDOUT_FILENO, TIOCGWINSZ, (char *)&ws) == -1) ||
! ws.ws_col == 0) termwidth = 79;
! else termwidth = ws.ws_col - 1;
else
! termwidth = UNLIMITED;
if (argc > 1)
argv[1] = kludge_oldps_options(argv[1]);
***************
*** 266,275 ****
dropgid = 1;
break;
case 'w':
! if (wflag)
! termwidth = UNLIMITED;
! else if (termwidth < 131)
! termwidth = 131;
wflag++;
break;
case 'x':
--- 265,275 ----
dropgid = 1;
break;
case 'w':
! if (termwidth != UNLIMITED)
! if (wflag)
! termwidth = UNLIMITED;
! else if (termwidth < 131)
! termwidth = 131;
wflag++;
break;
case 'x':
--- UUENCODED PATCH: ---
begin 644 patch
M*BHJ('!S+F,N;W)G"51U92!*86X@,C,@,38Z,#@Z,S<@,C`P,0HM+2T@<',N
M8PE&<FD@1&5C(#(X(#$T.C4Q.C(R(#(P,#$**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ
M*B`Q,S`L,30R("HJ*BH*("`*("`)*'9O:60I('-E=&QO8V%L92A,0U]!3$PL
M("(B*3L*("`*(2`):68@*"AI;V-T;"A35$1/551?1DE,14Y/+"!424]#1U=)
M3E-:+"`H8VAA<B`J*29W<RD@/3T@+3$@)B8*(2`)("`@("!I;V-T;"A35$1%
M4E)?1DE,14Y/+"!424]#1U=)3E-:+"`H8VAA<B`J*29W<RD@/3T@+3$@)B8*
M(2`)("`@("!I;V-T;"A35$1)3E]&24Q%3D\L("!424]#1U=)3E-:+"`H8VAA
M<B`J*29W<RD@/3T@+3$I('Q\"B$@"2`@("`@=W,N=W-?8V]L(#T](#`I"B$@
M"0ET97)M=VED=&@@/2`W.3L*("`)96QS90HA(`D)=&5R;7=I9'1H(#T@=W,N
M=W-?8V]L("T@,3L*("`*("`):68@*&%R9V,@/B`Q*0H@(`D)87)G=ELQ72`]
M(&ML=61G95]O;&1P<U]O<'1I;VYS*&%R9W9;,5TI.PHM+2T@,3,P+#$T,2`M
M+2TM"B`@"B`@"2AV;VED*2!S971L;V-A;&4H3$-?04Q,+"`B(BD["B`@"B$@
M"6EF("AI<V%T='DH4U1$3U547T9)3$5.3RDI"B$@"0EI9B`H*&EO8W1L*%-4
M1$]55%]&24Q%3D\L(%1)3T-'5TE.4UHL("AC:&%R("HI)G=S*2`]/2`M,2D@
M?'P*(2`)"0EW<RYW<U]C;VP@/3T@,"D@=&5R;7=I9'1H(#T@-SD["B$@"0EE
M;'-E('1E<FUW:61T:"`]('=S+G=S7V-O;"`M(#$["B`@"65L<V4*(2`)"71E
M<FUW:61T:"`](%5.3$E-251%1#L*("`*("`):68@*&%R9V,@/B`Q*0H@(`D)
M87)G=ELQ72`](&ML=61G95]O;&1P<U]O<'1I;VYS*&%R9W9;,5TI.PHJ*BHJ
M*BHJ*BHJ*BHJ*BH**BHJ(#(V-BPR-S4@*BHJ*@H@(`D)"61R;W!G:60@/2`Q
M.PH@(`D)"6)R96%K.PH@(`D)8V%S92`G=R<Z"B$@"0D):68@*'=F;&%G*0HA
M(`D)"0ET97)M=VED=&@@/2!53DQ)34E4140["B$@"0D)96QS92!I9B`H=&5R
M;7=I9'1H(#P@,3,Q*0HA(`D)"0ET97)M=VED=&@@/2`Q,S$["B`@"0D)=V9L
M86<K*SL*("`)"0EB<F5A:SL*("`)"6-A<V4@)W@G.@HM+2T@,C8U+#(W-2`M
M+2TM"B`@"0D)9')O<&=I9"`](#$["B`@"0D)8G)E86L["B`@"0EC87-E("=W
M)SH*(2`)"0EI9B`H=&5R;7=I9'1H("$](%5.3$E-251%1"D*(2`)"0D):68@
M*'=F;&%G*0HA(`D)"0D)=&5R;7=I9'1H(#T@54Y,24U)5$5$.PHA(`D)"0EE
M;'-E(&EF("AT97)M=VED=&@@/"`Q,S$I"B$@"0D)"0ET97)M=VED=&@@/2`Q
L,S$["B`@"0D)=V9L86<K*SL*("`)"0EB<F5A:SL*("`)"6-A<V4@)W@G.@HQ
`
end
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112281329.fBSDTGR51108>
