X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=blobdiff_plain;f=src%2Fsrc%2Ftransports%2Ftf_maildir.c;h=cd1964aa7492e5a0539f7ea975e60e60ca0b4bc2;hp=611895e064a72aac70be4e4f491fe36e98bb527f;hb=1e1ddfac79fbcd052f199500a6493c7f79cb8462;hpb=f3ebb786e451da973560f1c9d8cdb151d25108b5 diff --git a/src/src/transports/tf_maildir.c b/src/src/transports/tf_maildir.c index 611895e06..cd1964aa7 100644 --- a/src/src/transports/tf_maildir.c +++ b/src/src/transports/tf_maildir.c @@ -3,6 +3,7 @@ *************************************************/ /* Copyright (c) University of Cambridge 1995 - 2018 */ +/* Copyright (c) The Exim Maintainers 2020 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions in support of the use of maildirsize files for handling quotas in @@ -147,10 +148,8 @@ if (maildirfolder_create_regex != NULL) DEBUG(D_transport) debug_printf("checking for maildirfolder requirement\n"); - regex = pcre_compile(CS maildirfolder_create_regex, PCRE_COPT, - (const char **)&error, &offset, NULL); - - if (regex == NULL) + if (!(regex = pcre_compile(CS maildirfolder_create_regex, PCRE_COPT, + CCSS &error, &offset, NULL))) { addr->message = string_sprintf("appendfile: regular expression " "error: %s at offset %d while compiling %s", error, offset, @@ -255,15 +254,14 @@ maildir_compute_size(uschar *path, int *filecount, time_t *latest, { DIR *dir; off_t sum = 0; -struct dirent *ent; -struct stat statbuf; -if (!(dir = opendir(CS path))) +if (!(dir = exim_opendir(path))) return 0; -while ((ent = readdir(dir))) +for (struct dirent *ent; ent = readdir(dir); ) { uschar * s, * name = US ent->d_name; + struct stat statbuf; if (Ustrcmp(name, ".") == 0 || Ustrcmp(name, "..") == 0) continue;