aboutsummaryrefslogtreecommitdiff
path: root/libbb/lineedit.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-03-02 12:51:26 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-03-02 12:51:26 +0000
commitfb29038b59fa639b79de99c4edddfa6462918765 (patch)
treea527be76248ef6d10a5861a2e423d6f049b9d51a /libbb/lineedit.c
parent509697f00df5286674fdbdf7b02a57fea83636d0 (diff)
downloadbusybox-w32-fb29038b59fa639b79de99c4edddfa6462918765.tar.gz
busybox-w32-fb29038b59fa639b79de99c4edddfa6462918765.tar.bz2
busybox-w32-fb29038b59fa639b79de99c4edddfa6462918765.zip
libbb: inntroduce and use bb_pstrcmp() and qsort_string_vector()
msh: glob0/glob1/glob2/glob3 are just a sorting routine! remove them. bb_pstrcmp - 25 +25 qsort_string_vector - 24 +24 expand 2209 2227 +18 getopt32 1359 1370 +11 passwd_main 1072 1074 +2 handle_incoming_and_exit 2737 2735 -2 UNSPEC_print 66 64 -2 forkexec 1343 1339 -4 input_tab 3338 3330 -8 get_dir 185 177 -8 expmeta 481 473 -8 cmdputs 405 397 -8 xstrcmp 12 - -12 find_pair 187 167 -20 match_compare 25 - -25 dir_strcmp 25 - -25 glob2 27 - -27 glob3 34 - -34 glob1 256 - -256 ------------------------------------------------------------------------------ (add/remove: 2/6 grow/shrink: 3/8 up/down: 80/-439) Total: -359 bytes
Diffstat (limited to 'libbb/lineedit.c')
-rw-r--r--libbb/lineedit.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index d716169d4..7e408207c 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -796,11 +796,6 @@ static char *add_quote_for_spec_chars(char *found)
796 return s; 796 return s;
797} 797}
798 798
799static int match_compare(const void *a, const void *b)
800{
801 return strcmp(*(char**)a, *(char**)b);
802}
803
804/* Do TAB completion */ 799/* Do TAB completion */
805static void input_tab(smallint *lastWasTab) 800static void input_tab(smallint *lastWasTab)
806{ 801{
@@ -841,7 +836,7 @@ static void input_tab(smallint *lastWasTab)
841 /* Sort, then remove any duplicates found */ 836 /* Sort, then remove any duplicates found */
842 if (matches) { 837 if (matches) {
843 int i, n = 0; 838 int i, n = 0;
844 qsort(matches, num_matches, sizeof(char*), match_compare); 839 qsort_string_vector(matches, num_matches);
845 for (i = 0; i < num_matches - 1; ++i) { 840 for (i = 0; i < num_matches - 1; ++i) {
846 if (matches[i] && matches[i+1]) { /* paranoia */ 841 if (matches[i] && matches[i+1]) { /* paranoia */
847 if (strcmp(matches[i], matches[i+1]) == 0) { 842 if (strcmp(matches[i], matches[i+1]) == 0) {