version 1.7, 1997/07/24 16:23:39 |
version 1.8, 1997/07/24 17:27:12 |
|
|
register struct message *mp; |
register struct message *mp; |
int c, fd; |
int c, fd; |
struct stat minfo; |
struct stat minfo; |
char *mbox, tempname[MAXPATHLEN]; |
char *mbox, tempname[PATHSIZE]; |
|
|
/* |
/* |
* If we are read only, we can't do anything, |
* If we are read only, we can't do anything, |
|
|
(void)Fclose(rbuf); |
(void)Fclose(rbuf); |
if ((rbuf = Fopen(tempname, "r")) == NULL) |
if ((rbuf = Fopen(tempname, "r")) == NULL) |
goto newmail; |
goto newmail; |
rm(tempname); |
(void)rm(tempname); |
} |
} |
|
|
/* |
/* |
|
|
} |
} |
if ((ibuf = Fopen(tempname, "r")) == NULL) { |
if ((ibuf = Fopen(tempname, "r")) == NULL) { |
warn(tempname); |
warn(tempname); |
rm(tempname); |
(void)rm(tempname); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
(void)Fclose(fbuf); |
(void)Fclose(fbuf); |
spool_unlock(); |
spool_unlock(); |
return; |
return; |
} |
} |
rm(tempname); |
(void)rm(tempname); |
if ((abuf = Fopen(mbox, "r")) != NULL) { |
if ((abuf = Fopen(mbox, "r")) != NULL) { |
while ((c = getc(abuf)) != EOF) |
while ((c = getc(abuf)) != EOF) |
(void)putc(c, obuf); |
(void)putc(c, obuf); |
|
|
register struct message *mp; |
register struct message *mp; |
FILE *obuf, *ibuf, *readstat = NULL; |
FILE *obuf, *ibuf, *readstat = NULL; |
struct stat statb; |
struct stat statb; |
char tempname[MAXPATHLEN]; |
char tempname[PATHSIZE]; |
|
|
if (readonly) |
if (readonly) |
return; |
return; |
|
|
if (stat(mailname, &statb) >= 0 && statb.st_size > mailsize) { |
if (stat(mailname, &statb) >= 0 && statb.st_size > mailsize) { |
int fd; |
int fd; |
|
|
snprintf(tempname, sizeof(tempname), "%s/mbox.XXXXXXXXXX", |
(void)snprintf(tempname, sizeof(tempname), "%s/mbox.XXXXXXXXXX", |
tmpdir); |
tmpdir); |
if ((fd = mkstemp(tempname)) == -1 || |
if ((fd = mkstemp(tempname)) == -1 || |
(obuf = Fdopen(fd, "w")) == NULL) { |
(obuf = Fdopen(fd, "w")) == NULL) { |
|
|
if ((ibuf = Fopen(mailname, "r")) == NULL) { |
if ((ibuf = Fopen(mailname, "r")) == NULL) { |
warn(mailname); |
warn(mailname); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
rm(tempname); |
(void)rm(tempname); |
relsesigs(); |
relsesigs(); |
reset(0); |
reset(0); |
} |
} |
|
|
(void)Fclose(obuf); |
(void)Fclose(obuf); |
if ((ibuf = Fopen(tempname, "r")) == NULL) { |
if ((ibuf = Fopen(tempname, "r")) == NULL) { |
warn(tempname); |
warn(tempname); |
rm(tempname); |
(void)rm(tempname); |
relsesigs(); |
relsesigs(); |
reset(0); |
reset(0); |
} |
} |
rm(tempname); |
(void)rm(tempname); |
} |
} |
printf("\"%s\" ", mailname); |
printf("\"%s\" ", mailname); |
fflush(stdout); |
fflush(stdout); |
|
|
} |
} |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
if (gotcha) { |
if (gotcha) { |
rm(mailname); |
(void)rm(mailname); |
puts("removed"); |
puts("removed"); |
} else |
} else |
puts("complete"); |
puts("complete"); |