Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jun 2010 21:00:53 +0000 (UTC)
From:      Jilles Tjoelker <jilles@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r209217 - head/lib/libedit
Message-ID:  <201006152100.o5FL0r06092626@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 ? " " : "");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006152100.o5FL0r06092626>