X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Ftransports%2Ftf_maildir.c;h=4caf0cdcfd916359f99a2baed1d4bd2e7a35988e;hb=251b9eb4698f569864c35127ddb7c309b92ccecb;hp=e6c8bef9435e42c14a2d3f31fb1fc700e1a88715;hpb=1ba28e2b955b005ce4825fec792df17f75a8de1e;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/transports/tf_maildir.c b/src/src/transports/tf_maildir.c index e6c8bef94..4caf0cdcf 100644 --- a/src/src/transports/tf_maildir.c +++ b/src/src/transports/tf_maildir.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/transports/tf_maildir.c,v 1.14 2009/11/16 19:56:54 nm4 Exp $ */ - /************************************************* * 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 @@ -213,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); + } } @@ -358,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 @@ -556,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, 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)