blob: 0a083032d91965c0389cf88320e4169fae2b7dea [file] [log] [blame]
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