[lxc-devel] [PATCH 17/21] caps.h: Rename __errno to ___errno
Stéphane Graber
stgraber at ubuntu.com
Thu Jan 3 17:24:18 UTC 2013
At least bionic defines __errno, so this was causing a conflict in caps.h
leading to build failure. Renaming to ___errno avoids that duplicate
definition.
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
configure.ac | 5 ++++-
src/lxc/caps.h | 12 ++++++------
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
index 5b7573a..f8a6172 100644
--- a/configure.ac
+++ b/configure.ac
@@ -213,8 +213,11 @@ AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
# Check for some headers
AC_CHECK_HEADERS([sys/signalfd.h sys/personality.h sys/capability.h pty.h utmpx.h])
+# Check for some syscalls functions
+AC_CHECK_FUNCS([setns pivot_root sethostname unshare])
+
# Check for some functions
-AC_CHECK_FUNCS([getline fgetln openpty setns pivot_root sethostname unshare])
+AC_CHECK_FUNCS([getline fgetln openpty hasmntopt setmntent endmntent])
# Check for some standard binaries
AC_PROG_GCC_TRADITIONAL
diff --git a/src/lxc/caps.h b/src/lxc/caps.h
index 9b86215..4114444 100644
--- a/src/lxc/caps.h
+++ b/src/lxc/caps.h
@@ -58,28 +58,28 @@ static inline int lxc_caps_last_cap(void) {
#define lxc_priv(__lxc_function) \
({ \
__label__ out; \
- int __ret, __ret2, __errno = 0; \
+ int __ret, __ret2, ___errno = 0; \
__ret = lxc_caps_up(); \
if (__ret) \
goto out; \
__ret = __lxc_function; \
if (__ret) \
- __errno = errno; \
+ ___errno = errno; \
__ret2 = lxc_caps_down(); \
- out: __ret ? errno = __errno,__ret : __ret2; \
+ out: __ret ? errno = ___errno,__ret : __ret2; \
})
#define lxc_unpriv(__lxc_function) \
({ \
__label__ out; \
- int __ret, __ret2, __errno = 0; \
+ int __ret, __ret2, ___errno = 0; \
__ret = lxc_caps_down(); \
if (__ret) \
goto out; \
__ret = __lxc_function; \
if (__ret) \
- __errno = errno; \
+ ___errno = errno; \
__ret2 = lxc_caps_up(); \
- out: __ret ? errno = __errno,__ret : __ret2; \
+ out: __ret ? errno = ___errno,__ret : __ret2; \
})
#endif
--
1.8.0
More information about the lxc-devel
mailing list