aboutsummaryrefslogtreecommitdiff
path: root/libbb/bb_qsort.c
blob: 7afddf4687f0135219aeafe10400012fe1846a72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* vi: set sw=4 ts=4: */
/*
 * Wrapper for common string vector sorting operation
 *
 * Copyright (c) 2008 Denys Vlasenko
 *
 * Licensed under GPLv2, see file LICENSE in this source tree.
 */
#include "libbb.h"

int /* not FAST_FUNC! */ bb_pstrcmp(const void *a, const void *b)
{
	return strcmp(*(char**)a, *(char**)b);
}

void FAST_FUNC qsort_string_vector(char **sv, unsigned count)
{
	qsort(sv, count, sizeof(char*), bb_pstrcmp);
}

#if ENABLE_PLATFORM_MINGW32
static int bb_pstrcasecmp(const void *a, const void *b)
{
	return strcasecmp(*(char**)a, *(char**)b);
}

void FAST_FUNC qsort_string_vector_case(char **sv, unsigned count)
{
	qsort(sv, count, sizeof(char*), bb_pstrcasecmp);
}
#endif