]> granicus.if.org Git - procps-ng/commit
top: fix the bug affecting certain Find/Locate results
authorJim Warner <james.warner@comcast.net>
Mon, 25 Mar 2013 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@enc.com.au>
Tue, 26 Mar 2013 09:35:53 +0000 (20:35 +1100)
commit4aa917455c1a90bd515f346971c7be950d0426e8
tree8129dae63af43e3782c6d7120c59f0dfde63843d
parent2840d7f4c66a85676c79eeb2c89db4d450fd3fc4
top: fix the bug affecting certain Find/Locate results

When 'Other Filtering' was introduced the idea of what
constituted a displayed row changed. No longer was any
call to task_show assured of consuming one screen row.
Now the determining factor was whether or not the rows
were empty. This worked Ok until a certain Find string
was active then the entire display could be corrupted.

With Find active, the task_show() function alters each
returned row while highlighting each visible match. If
the search was on a single byte value & matched at the
beginning of a row the match got overwritten with '\0'
which then appears empty upon return to window_show().
So that row would not be counted as having been shown.

This was best illustrated with a Find on a single ' '.

This patch will restore proper 'Find/Locate' behavior.

Reference(s):
commit 5edc6fb3174f1fd02bbfca61ec6d8a3a2e12f71c

Signed-off-by: Jim Warner <james.warner@comcast.net>
top/top.c