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

Reviewed-on: http://gerrit.openafs.org/9198
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit f67e4a3cdfb1856e31dda0d4741c8d34df13f8fc)

Change-Id: Ia610993535acc68beef7e8cffcfac77db2638aa4
Reviewed-on: http://gerrit.openafs.org/9973
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
This commit is contained in:
Simon Wilkinson 2013-02-19 17:53:11 +00:00 committed by Stephan Wiesand
parent ac750113f3
commit 2d3ae77f9f
3 changed files with 6 additions and 4 deletions

View File

@ -131,7 +131,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 *,

View File

@ -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;

View File

@ -280,7 +280,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;