From: Simon Wilkinson Date: Fri, 30 Mar 2012 18:09:36 +0000 (+0100) Subject: DARWIN: Make crfree() an inline function X-Git-Tag: openafs-stable-1_8_0pre1~2627 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=1d8937b86050;hp=2454e3d96af2be9f316a5c50199d34444defe4a8 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 --- 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