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 ? " " : ""); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"