From 1e352d9d44fa782e4b72fbbf3531e75682440856 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Sat, 24 Jan 2015 10:00:37 +0100
Subject: [PATCH] shared/util: fix mkstemp/mkostemp related build failure

Fixes buildroot uclibc build failure ([1]):

./.libs/libudev-core.a(util.o): In function `mkostemp_safe':
util.c:(.text+0x2950): undefined reference to `mkostemp'

[1] http://autobuild.buildroot.net/results/fa6/fa62883de4ada664521ffc47b611ecd2279c0014/build-end.log

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 src/shared/util.c | 4 +++-
 src/shared/util.h | 3 +++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/shared/util.c b/src/shared/util.c
index 3cad297..7423310 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -1322,6 +1322,7 @@ int getpeercred(int fd, struct ucred *ucred) {
         return 0;
 }
 
+#if HAVE_DECL_MKOSTEMP
 /* This is much like like mkostemp() but is subject to umask(). */
 int mkostemp_safe(char *pattern, int flags) {
         _cleanup_umask_ mode_t u;
@@ -1337,7 +1338,7 @@ int mkostemp_safe(char *pattern, int flags) {
 
         return fd;
 }
-
+#else
 /* This is much like like mkstemp() but is subject to umask(). */
 int mkstemp_safe(char *pattern) {
         _cleanup_umask_ mode_t u;
@@ -1353,6 +1354,7 @@ int mkstemp_safe(char *pattern) {
 
         return fd;
 }
+#endif
 
 char *tempfn_xxxxxx(const char *p) {
         const char *fn;
diff --git a/src/shared/util.h b/src/shared/util.h
index 9550aa1..943d7d4 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -402,8 +402,11 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size,
 int proc_cmdline(char **ret);
 int getpeercred(int fd, struct ucred *ucred);
 
+#if HAVE_DECL_MKOSTEMP
 int mkostemp_safe(char *pattern, int flags);
+#else
 int mkstemp_safe(char *pattern);
+#endif
 
 union file_handle_union {
         struct file_handle handle;
-- 
2.1.2

