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 /describe.c | |
parent | cc4c4f0ce25cc3803197bc19c275fd6f59a2a511 (diff) | |
download | git-cb5d709ff8a4bae19d57a470ba2b137c25938a44.tar.gz git-cb5d709ff8a4bae19d57a470ba2b137c25938a44.tar.xz |
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 'describe.c')
-rw-r--r-- | describe.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/describe.c b/describe.c index ab192f83a..ea0f2ce55 100644 --- a/describe.c +++ b/describe.c @@ -53,7 +53,7 @@ static void add_to_known_names(const char *path, names = ++idx; } -static int get_name(const char *path, const unsigned char *sha1) +static int get_name(const char *path, const unsigned char *sha1, void *cb_data) { struct commit *commit = lookup_commit_reference_gently(sha1, 1); struct object *object; @@ -113,7 +113,7 @@ static void describe(const char *arg, int last_one) if (!initialized) { initialized = 1; - for_each_ref(get_name); + for_each_ref(get_name, NULL); qsort(name_array, names, sizeof(*name_array), compare_names); } |