summaryrefslogtreecommitdiffstats
path: root/src/syrep.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/syrep.c')
-rw-r--r--src/syrep.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/syrep.c b/src/syrep.c
index ad7619a..e68e2f1 100644
--- a/src/syrep.c
+++ b/src/syrep.c
@@ -42,6 +42,12 @@ static int do_diff(void) {
goto finish;
}
+ if (args.local_temp_flag && isdirectory(args.inputs[0]) >= 1) {
+ const char *p = get_attached_filename(args.inputs[0], SYREP_TEMPDIR);
+ mkdir(p, 0777);
+ setenv("TMPDIR", p, 1);
+ }
+
if (!(path1 = strdup(get_attached_filename(args.inputs[0], SYREP_SNAPSHOTFILENAME))))
goto finish;
@@ -100,6 +106,12 @@ static int do_merge(void) {
fprintf(stderr, "ERROR: %s is not a directory\n", args.inputs[1]);
goto finish;
}
+
+ if (args.local_temp_flag) {
+ const char *p = get_attached_filename(args.inputs[1], SYREP_TEMPDIR);
+ mkdir(p, 0777);
+ setenv("TMPDIR", p, 1);
+ }
if (!(path1 = strdup(get_attached_filename(args.inputs[0], SYREP_SNAPSHOTFILENAME))))
goto finish;
@@ -154,6 +166,12 @@ static int do_makepatch(void) {
goto finish;
}
+ if (args.local_temp_flag) {
+ const char *p = get_attached_filename(args.inputs[0], SYREP_TEMPDIR);
+ mkdir(p, 0777);
+ setenv("TMPDIR", p, 1);
+ }
+
if (!(path1 = strdup(get_attached_filename(args.inputs[0], SYREP_SNAPSHOTFILENAME))))
goto finish;
@@ -209,6 +227,12 @@ static int do_foreach(int (*func) (struct syrep_db_context *c), int m) {
for (i = 0; i < args.inputs_num; i++) {
static char saved_cwd[PATH_MAX];
+ if (args.local_temp_flag && isdirectory(args.inputs[i]) >= 1) {
+ const char *p = get_attached_filename(args.inputs[i], SYREP_TEMPDIR);
+ mkdir(p, 0777);
+ setenv("TMPDIR", p, 1);
+ }
+
if (!(path = strdup(get_attached_filename(args.inputs[i], SYREP_SNAPSHOTFILENAME))))
goto finish;
@@ -288,6 +312,12 @@ static int do_update(void) {
return 1;
}
+ if (args.local_temp_flag) {
+ const char *p = get_attached_filename(args.inputs[i], SYREP_TEMPDIR);
+ mkdir(p, 0777);
+ setenv("TMPDIR", p, 1);
+ }
+
if (!(path = strdup(get_attached_filename(args.inputs[i], SYREP_SNAPSHOTFILENAME))))
goto finish;