X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/db3f7b6972f3b003c0413b78afcfbe295ffe0b97..14a806d6c13afdfb2f44dce64e50bffa6cb6869c:/src/src/spool_mbox.c diff --git a/src/src/spool_mbox.c b/src/src/spool_mbox.c index 188f405c0..7b6a79607 100644 --- a/src/src/spool_mbox.c +++ b/src/src/spool_mbox.c @@ -38,13 +38,13 @@ uschar *mbox_path; FILE *mbox_file = NULL, *l_data_file = NULL, *yield = NULL; struct stat statbuf; int j; -void *reset_point; +rmark reset_point; mbox_path = string_sprintf("%s/scan/%s/%s.eml", spool_directory, message_id, message_id); if (mbox_fname) *mbox_fname = mbox_path; -reset_point = store_get(0); +reset_point = store_mark(); /* Skip creation if already spooled out as mbox file */ if (!spool_mbox_ok) @@ -117,7 +117,7 @@ if (!spool_mbox_ok) message_subdir[1] = '\0'; for (int i = 0; i < 2; i++) { - message_subdir[0] = split_spool_directory == (i == 0) ? message_id[5] : 0; + set_subdir_str(message_subdir, message_id, i); temp_string = spool_fname(US"input", message_subdir, message_id, US"-D"); if ((l_data_file = Ufopen(temp_string, "rb"))) break; } @@ -210,12 +210,11 @@ malware_ok = 0; if (spool_mbox_ok && !f.no_mbox_unspool) { - uschar *mbox_path; uschar *file_path; struct dirent *entry; DIR *tempdir; - - mbox_path = string_sprintf("%s/scan/%s", spool_directory, spooled_message_id); + rmark reset_point = store_mark(); + uschar * mbox_path = string_sprintf("%s/scan/%s", spool_directory, spooled_message_id); if (!(tempdir = opendir(CS mbox_path))) { @@ -240,7 +239,7 @@ if (spool_mbox_ok && !f.no_mbox_unspool) /* remove directory */ rmdir(CS mbox_path); - store_reset(mbox_path); + store_reset(reset_point); } spool_mbox_ok = 0; }