svn commit: r209217 - head/lib/libedit
Jilles Tjoelker
jilles at FreeBSD.org
Tue Jun 15 21:00:54 UTC 2010
Author: jilles
Date: Tue Jun 15 21:00:53 2010
New Revision: 209217
URL: http://svn.freebsd.org/changeset/base/209217
Log:
libedit: Fix a bug that could make completion listings incomplete.
The element matches[0] is the common prefix and is not counted in len, so
subtracting 1 is not needed. A counter for the number of matches per line
was incremented twice.
Submitted by: Guy Yur
Modified:
head/lib/libedit/filecomplete.c
Modified: head/lib/libedit/filecomplete.c
==============================================================================
--- head/lib/libedit/filecomplete.c Tue Jun 15 19:28:44 2010 (r209216)
+++ head/lib/libedit/filecomplete.c Tue Jun 15 21:00:53 2010 (r209217)
@@ -347,13 +347,12 @@ fn_display_match_list(EditLine *el, char
count++;
/* Sort the items if they are not already sorted. */
- qsort(&matches[1], (size_t)(len - 1), sizeof(char *),
- _fn_qsort_string_compare);
+ qsort(&matches[1], len, sizeof(char *), _fn_qsort_string_compare);
idx = 1;
for(; count > 0; count--) {
int more = limit > 0 && matches[0];
- for(i = 0; more; i++, idx++) {
+ for(i = 0; more; idx++) {
more = ++i < limit && matches[idx + 1];
(void)fprintf(el->el_outfile, "%-*s%s", (int)max,
matches[idx], more ? " " : "");
More information about the svn-src-all
mailing list