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 /builtin-push.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 'builtin-push.c')
-rw-r--r-- | builtin-push.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/builtin-push.c b/builtin-push.c index c43f2566d..88fc8e2a3 100644 --- a/builtin-push.c +++ b/builtin-push.c @@ -27,7 +27,7 @@ static void add_refspec(const char *ref) refspec_nr = nr; } -static int expand_one_ref(const char *ref, const unsigned char *sha1) +static int expand_one_ref(const char *ref, const unsigned char *sha1, void *cb_data) { /* Ignore the "refs/" at the beginning of the refname */ ref += 5; @@ -51,7 +51,7 @@ static void expand_refspecs(void) } if (!tags) return; - for_each_ref(expand_one_ref); + for_each_ref(expand_one_ref, NULL); } static void set_refspecs(const char **refs, int nr) |