From 3408f8e78776b12f131e433749721602f87e0a70 Mon Sep 17 00:00:00 2001
From: "Hong H. Pham" <hong.pham@windriver.com>
Date: Fri, 29 Aug 2014 17:13:55 +0300
Subject: [PATCH] Check if wordexp function is supported

eglibc could be configured to build without wordexp, so it is not enough
to check if wordexp.h exists (the header file could be installed, but it's
possible that the wordexp() function is not supported).  An additional
check if wordexp() is supported by the system C library is needed.

Upstream-Status: Inappropriate [configuration]

Signed-off-by: Hong H. Pham <hong.pham@windriver.com>
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
---
 configure.ac   | 5 ++++-
 src/userfile.c | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 9490d39..b08a90a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -295,7 +295,10 @@ fi
 AC_SUBST(ALSA_DEPLIBS)
 
 dnl Check for headers
-AC_CHECK_HEADERS([wordexp.h endian.h sys/endian.h sys/shm.h])
+AC_CHECK_HEADERS([wordexp.h endian.h sys/endian.h sys/shm.h],
+  dnl Make sure wordexp is supported by the C library
+  AC_CHECK_FUNCS([wordexp])
+)
 
 dnl Check for resmgr support...
 AC_MSG_CHECKING(for resmgr support)
diff --git a/src/userfile.c b/src/userfile.c
index 72779da..e9d13e6 100644
--- a/src/userfile.c
+++ b/src/userfile.c
@@ -32,7 +32,7 @@
  * stores the first matchine one.  The returned string is strdup'ed.
  */
 
-#ifdef HAVE_WORDEXP_H
+#if (defined(HAVE_WORDEXP_H) && defined(HAVE_WORDEXP))
 #include <wordexp.h>
 #include <assert.h>
 int snd_user_file(const char *file, char **result)
-- 
2.6.4

