X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fsrc%2Ftransports%2Ftf_maildir.c;h=4caf0cdcfd916359f99a2baed1d4bd2e7a35988e;hb=f9ba5e2255cf18092750fffacb6a9603571a2be5;hp=8e57d28b2041777fb47a14573a30b75f1cb5aeb6;hpb=76fbc01d6f1814bdbc2dedb31a405105b38a70f2;p=exim.git diff --git a/src/src/transports/tf_maildir.c b/src/src/transports/tf_maildir.c index 8e57d28b2..4caf0cdcf 100644 --- a/src/src/transports/tf_maildir.c +++ b/src/src/transports/tf_maildir.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2018 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions in support of the use of maildirsize files for handling quotas in @@ -211,10 +211,12 @@ int len; uschar buffer[256]; sprintf(CS buffer, "%d 1\n", size); len = Ustrlen(buffer); -(void)lseek(fd, 0, SEEK_END); -(void)write(fd, buffer, len); -DEBUG(D_transport) - debug_printf("added '%.*s' to maildirsize file\n", len-1, buffer); +if (lseek(fd, 0, SEEK_END) >= 0) + { + len = write(fd, buffer, len); + DEBUG(D_transport) + debug_printf("added '%.*s' to maildirsize file\n", len-1, buffer); + } } @@ -356,7 +358,7 @@ Or, at least, it is supposed to! Arguments: path the path to the maildir directory; this is already backed-up - to the parent if the delivery diretory is a maildirfolder + to the parent if the delivery directory is a maildirfolder ob the appendfile options block regex a compiled regex for getting a file's size from its name dir_regex a compiled regex for selecting maildir directories @@ -554,8 +556,8 @@ else FALSE); (void)gettimeofday(&tv, NULL); - tempname = string_sprintf("%s/tmp/%lu.H%luP%lu.%s", path, tv.tv_sec, - tv.tv_usec, (long unsigned) getpid(), primary_hostname); + tempname = string_sprintf("%s/tmp/" TIME_T_FMT ".H%luP%lu.%s", + path, tv.tv_sec, tv.tv_usec, (long unsigned) getpid(), primary_hostname); fd = Uopen(tempname, O_RDWR|O_CREAT|O_EXCL, ob->mode ? ob->mode : 0600); if (fd >= 0)