diff options
author | Junio C Hamano <junkio@cox.net> | 2006-09-20 21:47:42 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-09-20 21:47:42 -0700 |
commit | cb5d709ff8a4bae19d57a470ba2b137c25938a44 (patch) | |
tree | d64f4ca2150e36ed77e30df9a3c4261028d26ad2 /server-info.c | |
parent | cc4c4f0ce25cc3803197bc19c275fd6f59a2a511 (diff) | |
download | git-cb5d709ff8a4bae19d57a470ba2b137c25938a44.tar.gz |
Add callback data to for_each_ref() family.
This is a long overdue fix to the API for for_each_ref() family
of functions. It allows the callers to specify a callback data
pointer, so that the caller does not have to use static
variables to communicate with the callback funciton.
The updated for_each_ref() family takes a function of type
int (*fn)(const char *, const unsigned char *, void *)
and a void pointer as parameters, and calls the function with
the name of the ref and its SHA-1 with the caller-supplied void
pointer as parameters.
The commit updates two callers, builtin-name-rev.c and
builtin-pack-refs.c as an example.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'server-info.c')
-rw-r--r-- | server-info.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/server-info.c b/server-info.c index 2fb8f57103..7667b41257 100644 --- a/server-info.c +++ b/server-info.c @@ -7,7 +7,7 @@ /* refs */ static FILE *info_ref_fp; -static int add_info_ref(const char *path, const unsigned char *sha1) +static int add_info_ref(const char *path, const unsigned char *sha1, void *cb_data) { struct object *o = parse_object(sha1); @@ -34,7 +34,7 @@ static int update_info_refs(int force) info_ref_fp = fopen(path1, "w"); if (!info_ref_fp) return error("unable to update %s", path0); - for_each_ref(add_info_ref); + for_each_ref(add_info_ref, NULL); fclose(info_ref_fp); rename(path1, path0); free(path0); |