From 1d8937b860509fcaabb041bc14faf7aa3023f3c9 Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Fri, 30 Mar 2012 19:09:36 +0100 Subject: [PATCH] DARWIN: Make crfree() an inline function On Darwin 100, we have #define crfree(X) kauth_cred_unref(&X) which expands in one place to kauth_cred_unref(&(afs_ucred_t *)avc->linkData) clang warns about this in -Werror mode, because arguments to the address-of operator must be lvalues. To fix this make crfree an inline function, which will then let us do the indirection required. Change-Id: Ic5adb63dcdc11e04c1e428c32e85f33a987fcf42 Reviewed-on: http://gerrit.openafs.org/7073 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/afs/DARWIN/osi_machdep.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/afs/DARWIN/osi_machdep.h b/src/afs/DARWIN/osi_machdep.h index e186d3a..eff69b1 100644 --- a/src/afs/DARWIN/osi_machdep.h +++ b/src/afs/DARWIN/osi_machdep.h @@ -33,6 +33,7 @@ typedef unsigned short etap_event_t; #include #include #include +#include #endif #include @@ -104,7 +105,7 @@ enum vcexcl { EXCL, NONEXCL }; #define crref kauth_cred_get_with_ref #define crhold kauth_cred_ref #ifdef AFS_DARWIN100_ENV -#define crfree(X) kauth_cred_unref(&X) +static inline void crfree(kauth_cred_t X) { kauth_cred_unref(&X); } #else #define crfree kauth_cred_rele #endif -- 1.9.4