From: Simon Wilkinson Date: Tue, 19 Feb 2013 17:53:11 +0000 (+0000) Subject: libafscp: Actually return callback from FindCallback X-Git-Tag: upstream/1.8.0_pre1^2~1495 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=f67e4a3cdfb1856e31dda0d4741c8d34df13f8fc;p=packages%2Fo%2Fopenafs.git libafscp: Actually return callback from FindCallback Fix FindCallback so that it actually returns the callback that it found. This requires changing the function prototype so that the third parameter is passed by reference, and updating the single call site. Caught by clang-analyzer Change-Id: I420647e9cfd119cf1a26456a91d595b8154ddd85 Reviewed-on: http://gerrit.openafs.org/9198 Reviewed-by: Derrick Brashear Tested-by: BuildBot --- diff --git a/src/libafscp/afscp.h b/src/libafscp/afscp.h index 743e6bea1..849cd3d89 100644 --- a/src/libafscp/afscp.h +++ b/src/libafscp/afscp.h @@ -132,7 +132,7 @@ int afscp_CheckCallBack(const struct afscp_venusfid *fid, afs_uint32 *expiretime); int afscp_FindCallBack(const struct afscp_venusfid *f, const struct afscp_server *server, - struct afscp_callback *ret); + struct afscp_callback **ret); int afscp_AddCallBack(const struct afscp_server *, const struct AFSFid *, const struct AFSFetchStatus *, diff --git a/src/libafscp/afscp_callback.c b/src/libafscp/afscp_callback.c index e37221c18..213cc8b5d 100644 --- a/src/libafscp/afscp_callback.c +++ b/src/libafscp/afscp_callback.c @@ -103,7 +103,9 @@ init_afs_cb(void) } /* init_afs_cb */ int -afscp_FindCallBack(const struct afscp_venusfid *f, const struct afscp_server *server, struct afscp_callback *ret) +afscp_FindCallBack(const struct afscp_venusfid *f, + const struct afscp_server *server, + struct afscp_callback **ret) { int i; struct afscp_callback *use = NULL, *cb; @@ -137,7 +139,7 @@ afscp_FindCallBack(const struct afscp_venusfid *f, const struct afscp_server *se } if (use->valid) - ret = use; + *ret = use; else return -1; diff --git a/src/libafscp/afscp_fid.c b/src/libafscp/afscp_fid.c index 538381b94..c7582c95d 100644 --- a/src/libafscp/afscp_fid.c +++ b/src/libafscp/afscp_fid.c @@ -278,7 +278,7 @@ afscp_CheckCallBack(const struct afscp_venusfid *fid, const struct afscp_server if (code != 0) return code; - code = afscp_FindCallBack(fid, server, cb); + code = afscp_FindCallBack(fid, server, &cb); if (code != 0) return code;