add context pointer to read_tree_recursive()
Add a pointer parameter to read_tree_recursive(), which is passed to the callback function. This allows callers of read_tree_recursive() to share data with the callback without resorting to global variables. All current callers pass NULL. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
34533004b2
commit
671f070721
@ -152,9 +152,9 @@ static char *construct_path(const char *base, int baselen,
|
||||
return path;
|
||||
}
|
||||
|
||||
static int write_zip_entry(const unsigned char *sha1,
|
||||
const char *base, int baselen,
|
||||
const char *filename, unsigned mode, int stage)
|
||||
static int write_zip_entry(const unsigned char *sha1, const char *base,
|
||||
int baselen, const char *filename, unsigned mode, int stage,
|
||||
void *context)
|
||||
{
|
||||
struct zip_local_header header;
|
||||
struct zip_dir_header dirent;
|
||||
@ -332,11 +332,12 @@ int write_zip_archive(struct archiver_args *args)
|
||||
|
||||
while (baselen > 0 && base[baselen - 1] == '/')
|
||||
base[--baselen] = '\0';
|
||||
write_zip_entry(args->tree->object.sha1, "", 0, base, 040777, 0);
|
||||
write_zip_entry(args->tree->object.sha1, "", 0, base, 040777,
|
||||
0, NULL);
|
||||
free(base);
|
||||
}
|
||||
read_tree_recursive(args->tree, args->base, plen, 0,
|
||||
args->pathspec, write_zip_entry);
|
||||
args->pathspec, write_zip_entry, NULL);
|
||||
write_zip_trailer(args->commit_sha1);
|
||||
|
||||
free(zip_dir);
|
||||
|
Reference in New Issue
Block a user