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
This commit is contained in:
@@ -1095,12 +1095,6 @@ static void do_diff(char *dir1, char *path1, char *dir2, char *path2)
|
||||
|
||||
|
||||
#if ENABLE_FEATURE_DIFF_DIR
|
||||
static int dir_strcmp(const void *p1, const void *p2)
|
||||
{
|
||||
return strcmp(*(char *const *) p1, *(char *const *) p2);
|
||||
}
|
||||
|
||||
|
||||
/* This function adds a filename to dl, the directory listing. */
|
||||
static int add_to_dirlist(const char *filename,
|
||||
struct stat ATTRIBUTE_UNUSED * sb, void *userdata,
|
||||
@@ -1144,7 +1138,7 @@ static char **get_dir(char *path)
|
||||
}
|
||||
|
||||
/* Sort dl alphabetically. */
|
||||
qsort(dl, dl_count, sizeof(char *), dir_strcmp);
|
||||
qsort_string_vector(dl, dl_count);
|
||||
|
||||
dl[dl_count] = NULL;
|
||||
return dl;
|
||||
|
||||
Reference in New Issue
Block a user