summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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",