]> git.alsa-project.org Git - alsa-lib.git/commitdiff
build: Fallback to alphasort() if versionsort() isn't available
authorArun Raghavan <arun.raghavan@collabora.co.uk>
Tue, 17 Jul 2012 10:00:15 +0000 (15:30 +0530)
committerTakashi Iwai <tiwai@suse.de>
Tue, 17 Jul 2012 12:56:14 +0000 (14:56 +0200)
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>
src/conf.c
src/ucm/parser.c

index 32446a2389389b4793801e97d434692b78b4405a..ecaa33903d5f5ea86d724efab640907136fc9843 100644 (file)
@@ -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;
index b93d8325a99d54a445d49f4fe6e6f29dd0b2a716..d7517f69e84b2467d24d4331580ae5be374ff58f 100644 (file)
@@ -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",