summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Raghavan <arun.raghavan@collabora.co.uk>2012-07-17 15:30:15 +0530
committerTakashi Iwai <tiwai@suse.de>2012-07-17 14:56:14 +0200
commit55abbc9fde61fb7b205df8db4a909ad83e2a1590 (patch)
treedf7c381864f06bb27387cf4ec8efa325de20bc34
parentdf924cd9c5dd5ab079784faec344cdfd11f3147a (diff)
downloadalsa-lib-55abbc9fde61fb7b205df8db4a909ad83e2a1590.tar.gz
build: Fallback to alphasort() if versionsort() isn't available
versionsort() is a GNU-ism and can't be relied on for non-GNU systems. [modified to define SORTFUNC instead of copying lines by tiwai] Signed-off-by: Arun Raghavan <arun.raghavan@collabora.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--src/conf.c7
-rw-r--r--src/ucm/parser.c7
2 files changed, 12 insertions, 2 deletions
diff --git a/src/conf.c b/src/conf.c
index 32446a23..ecaa3390 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -3505,7 +3505,12 @@ int snd_config_hook_load(snd_config_t *root, snd_config_t *config, snd_config_t
struct dirent **namelist;
int n;
- n = scandir(fi[idx].name, &namelist, config_filename_filter, versionsort);
+#ifdef _GNU_SOURCE
+#define SORTFUNC versionsort
+#else
+#define SORTFUNC alphasort
+#endif
+ n = scandir(fi[idx].name, &namelist, config_filename_filter, SORTFUNC);
if (n > 0) {
int j;
err = 0;
diff --git a/src/ucm/parser.c b/src/ucm/parser.c
index b93d8325..d7517f69 100644
--- a/src/ucm/parser.c
+++ b/src/ucm/parser.c
@@ -1254,7 +1254,12 @@ int uc_mgr_scan_master_configs(const char **_list[])
"%s", env ? env : ALSA_USE_CASE_DIR);
filename[MAX_FILE-1] = '\0';
- err = scandir(filename, &namelist, filename_filter, versionsort);
+#ifdef _GNU_SOURCE
+#define SORTFUNC versionsort
+#else
+#define SORTFUNC alphasort
+#endif
+ err = scandir(filename, &namelist, filename_filter, SORTFUNC);
if (err < 0) {
err = -errno;
uc_error("error: could not scan directory %s: %s",