version 1.12, 2000/04/26 15:47:31 |
version 1.13, 2000/06/30 16:00:18 |
|
|
"%s/mail.RmXXXXXXXXXX", tmpdir); |
"%s/mail.RmXXXXXXXXXX", tmpdir); |
if ((fd = mkstemp(tempname)) == -1 || |
if ((fd = mkstemp(tempname)) == -1 || |
(obuf = Fdopen(fd, "w")) == NULL) { |
(obuf = Fdopen(fd, "w")) == NULL) { |
warn(tempname); |
warn("%s", tempname); |
(void)Fclose(fbuf); |
(void)Fclose(fbuf); |
spool_unlock(); |
spool_unlock(); |
return; |
return; |
} |
} |
if ((ibuf = Fopen(tempname, "r")) == NULL) { |
if ((ibuf = Fopen(tempname, "r")) == NULL) { |
warn(tempname); |
warn("%s", tempname); |
(void)rm(tempname); |
(void)rm(tempname); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
(void)Fclose(fbuf); |
(void)Fclose(fbuf); |
|
|
(void)Fclose(abuf); |
(void)Fclose(abuf); |
} |
} |
if (ferror(obuf)) { |
if (ferror(obuf)) { |
warn(tempname); |
warn("%s", tempname); |
(void)Fclose(ibuf); |
(void)Fclose(ibuf); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
(void)Fclose(fbuf); |
(void)Fclose(fbuf); |
|
|
(void)Fclose(obuf); |
(void)Fclose(obuf); |
(void)close(creat(mbox, 0600)); |
(void)close(creat(mbox, 0600)); |
if ((obuf = Fopen(mbox, "r+")) == NULL) { |
if ((obuf = Fopen(mbox, "r+")) == NULL) { |
warn(mbox); |
warn("%s", mbox); |
(void)Fclose(ibuf); |
(void)Fclose(ibuf); |
(void)Fclose(fbuf); |
(void)Fclose(fbuf); |
spool_unlock(); |
spool_unlock(); |
|
|
} |
} |
else { |
else { |
if ((obuf = Fopen(mbox, "a")) == NULL) { |
if ((obuf = Fopen(mbox, "a")) == NULL) { |
warn(mbox); |
warn("%s", mbox); |
(void)Fclose(fbuf); |
(void)Fclose(fbuf); |
spool_unlock(); |
spool_unlock(); |
return; |
return; |
|
|
for (mp = &message[0]; mp < &message[msgCount]; mp++) |
for (mp = &message[0]; mp < &message[msgCount]; mp++) |
if (mp->m_flag & MBOX) |
if (mp->m_flag & MBOX) |
if (sendmessage(mp, obuf, saveignore, NULL) < 0) { |
if (sendmessage(mp, obuf, saveignore, NULL) < 0) { |
warn(mbox); |
warn("%s", mbox); |
(void)Fclose(ibuf); |
(void)Fclose(ibuf); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
(void)Fclose(fbuf); |
(void)Fclose(fbuf); |
|
|
} |
} |
trunc(obuf); |
trunc(obuf); |
if (ferror(obuf)) { |
if (ferror(obuf)) { |
warn(mbox); |
warn("%s", mbox); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
(void)Fclose(fbuf); |
(void)Fclose(fbuf); |
spool_unlock(); |
spool_unlock(); |
|
|
|
|
p = 0; |
p = 0; |
if ((obuf = Fopen(mailname, "r+")) == NULL) { |
if ((obuf = Fopen(mailname, "r+")) == NULL) { |
warn(mailname); |
warn("%s", mailname); |
return(-1); |
return(-1); |
} |
} |
#ifndef APPEND |
#ifndef APPEND |
|
|
if ((mp->m_flag&MPRESERVE)||(mp->m_flag&MTOUCH)==0) { |
if ((mp->m_flag&MPRESERVE)||(mp->m_flag&MTOUCH)==0) { |
p++; |
p++; |
if (sendmessage(mp, obuf, NULL, NULL) < 0) { |
if (sendmessage(mp, obuf, NULL, NULL) < 0) { |
warn(mailname); |
warn("%s", mailname); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
return(-1); |
return(-1); |
} |
} |
|
|
fflush(obuf); |
fflush(obuf); |
trunc(obuf); |
trunc(obuf); |
if (ferror(obuf)) { |
if (ferror(obuf)) { |
warn(mailname); |
warn("%s", mailname); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
return(-1); |
return(-1); |
} |
} |
|
|
tmpdir); |
tmpdir); |
if ((fd = mkstemp(tempname)) == -1 || |
if ((fd = mkstemp(tempname)) == -1 || |
(obuf = Fdopen(fd, "w")) == NULL) { |
(obuf = Fdopen(fd, "w")) == NULL) { |
warn(tempname); |
warn("%s", tempname); |
relsesigs(); |
relsesigs(); |
reset(0); |
reset(0); |
} |
} |
if ((ibuf = Fopen(mailname, "r")) == NULL) { |
if ((ibuf = Fopen(mailname, "r")) == NULL) { |
warn(mailname); |
warn("%s", mailname); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
(void)rm(tempname); |
(void)rm(tempname); |
relsesigs(); |
relsesigs(); |
|
|
(void)Fclose(ibuf); |
(void)Fclose(ibuf); |
(void)Fclose(obuf); |
(void)Fclose(obuf); |
if ((ibuf = Fopen(tempname, "r")) == NULL) { |
if ((ibuf = Fopen(tempname, "r")) == NULL) { |
warn(tempname); |
warn("%s", tempname); |
(void)rm(tempname); |
(void)rm(tempname); |
relsesigs(); |
relsesigs(); |
reset(0); |
reset(0); |
|
|
printf("\"%s\" ", mailname); |
printf("\"%s\" ", mailname); |
fflush(stdout); |
fflush(stdout); |
if ((obuf = Fopen(mailname, "r+")) == NULL) { |
if ((obuf = Fopen(mailname, "r+")) == NULL) { |
warn(mailname); |
warn("%s", mailname); |
relsesigs(); |
relsesigs(); |
reset(0); |
reset(0); |
} |
} |
|
|
continue; |
continue; |
c++; |
c++; |
if (sendmessage(mp, obuf, NULL, NULL) < 0) { |
if (sendmessage(mp, obuf, NULL, NULL) < 0) { |
warn(mailname); |
warn("%s", mailname); |
relsesigs(); |
relsesigs(); |
reset(0); |
reset(0); |
} |
} |
|
|
} |
} |
fflush(obuf); |
fflush(obuf); |
if (ferror(obuf)) { |
if (ferror(obuf)) { |
warn(mailname); |
warn("%s", mailname); |
relsesigs(); |
relsesigs(); |
reset(0); |
reset(0); |
} |
} |