archive: pass archiver struct to write_archive callback
authorJeff King <peff@peff.net>
Wed, 22 Jun 2011 01:24:07 +0000 (21:24 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 22 Jun 2011 18:12:35 +0000 (11:12 -0700)
commit4d7c98986379b0ab93cbf9092b60dfb5ab1cee7c
treebfee1193f7a5bcfb17829faf5c419bfd2a654bb4
parent13e0f88d4aba326da9217c225d6ab5e642eb611d
archive: pass archiver struct to write_archive callback

The current archivers are very static; when you are in the
write_tar_archive function, you know you are writing a tar.
However, to facilitate runtime-configurable archivers
that will share a common write function we need to tell the
function which archiver was used.

As a convenience, we also provide an opaque data pointer in
the archiver struct so that individual archivers can put
something useful there when they register themselves.
Technically they could just use the "name" field to look in
an internal map of names to data, but this is much simpler.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
archive-tar.c
archive-zip.c
archive.c
archive.h