return 0;
}
-static int write_tar_archive(struct archiver_args *args)
+static int write_tar_archive(const struct archiver *ar,
+ struct archiver_args *args)
{
int err = 0;
*dos_time = t->tm_sec / 2 + t->tm_min * 32 + t->tm_hour * 2048;
}
-static int write_zip_archive(struct archiver_args *args)
+static int write_zip_archive(const struct archiver *ar,
+ struct archiver_args *args)
{
int err;
parse_treeish_arg(argv, &args, prefix);
parse_pathspec_arg(argv + 1, &args);
- return ar->write_archive(&args);
+ return ar->write_archive(ar, &args);
}
#define ARCHIVER_WANT_COMPRESSION_LEVELS 1
struct archiver {
const char *name;
- int (*write_archive)(struct archiver_args *);
+ int (*write_archive)(const struct archiver *, struct archiver_args *);
unsigned flags;
+ void *data;
};
extern void register_archiver(struct archiver *);