From 2c2c89575688a5ccac7032401df5a58b87f49aad Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 30 Aug 2003 13:10:12 +0000 Subject: package.c rewrite git-svn-id: file:///home/lennart/svn/public/syrep/trunk@14 07ea20a6-d2c5-0310-9e02-9ef735347d72 --- src/syrep.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'src/syrep.c') diff --git a/src/syrep.c b/src/syrep.c index f95f086..03cf5d8 100644 --- a/src/syrep.c +++ b/src/syrep.c @@ -67,7 +67,7 @@ static int do_diff(void) { } if (args.local_temp_flag && isdirectory(args.inputs[0]) >= 1) { - const char *p = get_snapshot_filename(args.inputs[0], SYREP_TEMPDIR); + const char *p = get_attached_filename(args.inputs[0], SYREP_TEMPDIR); mkdir(p, 0777); setenv("TMPDIR", p, 1); } @@ -132,7 +132,7 @@ static int do_merge(void) { } if (args.local_temp_flag) { - const char *p = get_snapshot_filename(args.inputs[1], SYREP_TEMPDIR); + const char *p = get_attached_filename(args.inputs[1], SYREP_TEMPDIR); mkdir(p, 0777); setenv("TMPDIR", p, 1); } @@ -194,7 +194,7 @@ static int do_makepatch(void) { } if (args.local_temp_flag) { - const char *p = get_snapshot_filename(args.inputs[0], SYREP_TEMPDIR); + const char *p = get_attached_filename(args.inputs[0], SYREP_TEMPDIR); mkdir(p, 0777); setenv("TMPDIR", p, 1); } @@ -258,7 +258,7 @@ static int do_foreach(int (*func) (struct syrep_db_context *c), int m) { static char saved_cwd[PATH_MAX]; if (args.local_temp_flag && isdirectory(args.inputs[i]) >= 1) { - const char *p = get_snapshot_filename(args.inputs[i], SYREP_TEMPDIR); + const char *p = get_attached_filename(args.inputs[i], SYREP_TEMPDIR); mkdir(p, 0777); setenv("TMPDIR", p, 1); } @@ -362,7 +362,7 @@ static int do_update(void) { if (args.cache_given) cache = md_cache_open(args.cache_arg, args.ro_cache_flag); - else if ((p = get_snapshot_filename(args.inputs[i], SYREP_MDCACHEFILENAME))) + else if ((p = get_attached_filename(args.inputs[i], SYREP_MDCACHEFILENAME))) cache = md_cache_open(p, args.ro_cache_flag); } @@ -452,18 +452,24 @@ static void sigint(int s) { interrupted = 1; } +static void free_args(void) { + int i; + + for (i = 0; i < args.inputs_num; i++) + free(args.inputs[i]); + + free(args.inputs); +} + int main(int argc, char *argv[]) { - char *b; struct sigaction sa; memset(&sa, 0, sizeof(sa)); sa.sa_handler = sigint; sigaction(SIGINT, &sa, NULL); - if ((b = strrchr(argv[0], '/'))) - argv[0] = b+1; - cmdline_parser(argc, argv, &args); + atexit(free_args); if (args.list_flag) return do_foreach(list, 0); -- cgit