---
src/include/dump_dir.h | 1 +
src/lib/dump_dir.c | 10 ++++++++++
2 files changed, 11 insertions(+)
diff --git a/src/include/dump_dir.h b/src/include/dump_dir.h
index f8d2931..1073949 100644
--- a/src/include/dump_dir.h
+++ b/src/include/dump_dir.h
@@ -70,6 +70,7 @@ void dd_save_text(struct dump_dir *dd, const char *name,
const char *data);
void dd_save_binary(struct dump_dir *dd, const char *name, const char *data,
unsigned size);
/* Returns 0 if directory is deleted or not found */
int dd_delete(struct dump_dir *dd);
+int dd_rename(struct dump_dir *dd, const char *new_path);
/* reported_to handling */
diff --git a/src/lib/dump_dir.c b/src/lib/dump_dir.c
index 908a2df..a61fccf 100644
--- a/src/lib/dump_dir.c
+++ b/src/lib/dump_dir.c
@@ -913,6 +913,16 @@ report_result_t *find_in_reported_to(struct dump_dir *dd,
const char *prefix)
return result;
}
+int dd_rename(struct dump_dir *dd, const char *new_path)
+{
+ int res = rename(dd->dd_dirname, new_path);
+ if (res == 0)
+ {
+ free(dd->dd_dirname);
+ dd->dd_dirname = rm_trailing_slashes(new_path);
+ }
+ return res;
+}
/* Utility function */
--
1.7.10.2