version 1.4, 1996/09/16 02:26:12 |
version 1.5, 1996/10/28 00:45:58 |
|
|
/* |
/* |
* determine current message bounds |
* determine current message bounds |
*/ |
*/ |
sprintf(fname, "%s/%s", _PATH_MSGS, BOUNDS); |
snprintf(fname, sizeof(fname), "%s/%s", _PATH_MSGS, BOUNDS); |
bounds = fopen(fname, "r"); |
bounds = fopen(fname, "r"); |
|
|
if (bounds != NULL) { |
if (bounds != NULL) { |
|
|
continue; |
continue; |
|
|
if (clean) |
if (clean) |
sprintf(inbuf, "%s/%s", _PATH_MSGS, cp); |
snprintf(inbuf, sizeof(inbuf), "%s/%s", |
|
_PATH_MSGS, cp); |
|
|
while (isdigit(*cp)) |
while (isdigit(*cp)) |
i = i * 10 + *cp++ - '0'; |
i = i * 10 + *cp++ - '0'; |
|
|
} |
} |
|
|
nextmsg = lastmsg + 1; |
nextmsg = lastmsg + 1; |
sprintf(fname, "%s/%d", _PATH_MSGS, nextmsg); |
snprintf(fname, sizeof(fname), "%s/%d", _PATH_MSGS, nextmsg); |
newmsg = fopen(fname, "w"); |
newmsg = fopen(fname, "w"); |
if (newmsg == NULL) { |
if (newmsg == NULL) { |
perror(fname); |
perror(fname); |
|
|
totty = (isatty(fileno(stdout)) != 0); |
totty = (isatty(fileno(stdout)) != 0); |
use_pager = use_pager && totty; |
use_pager = use_pager && totty; |
|
|
sprintf(fname, "%s/%s", getenv("HOME"), MSGSRC); |
snprintf(fname, sizeof(fname), "%s/%s", getenv("HOME"), MSGSRC); |
msgsrc = fopen(fname, "r"); |
msgsrc = fopen(fname, "r"); |
if (msgsrc) { |
if (msgsrc) { |
newrc = NO; |
newrc = NO; |
|
|
*/ |
*/ |
for (msg = firstmsg; msg <= lastmsg; msg++) { |
for (msg = firstmsg; msg <= lastmsg; msg++) { |
|
|
sprintf(fname, "%s/%d", _PATH_MSGS, msg); |
snprintf(fname, sizeof(fname), "%s/%d", _PATH_MSGS, msg); |
newmsg = fopen(fname, "r"); |
newmsg = fopen(fname, "r"); |
if (newmsg == NULL) |
if (newmsg == NULL) |
continue; |
continue; |
|
|
signal(SIGPIPE, SIG_IGN); |
signal(SIGPIPE, SIG_IGN); |
signal(SIGQUIT, SIG_IGN); |
signal(SIGQUIT, SIG_IGN); |
if ((env_pager = getenv("PAGER")) == NULL) { |
if ((env_pager = getenv("PAGER")) == NULL) { |
sprintf(cmdbuf, _PATH_PAGER, Lpp); |
snprintf(cmdbuf, sizeof(cmdbuf), _PATH_PAGER, Lpp); |
} else { |
} else { |
strcpy(cmdbuf, env_pager); |
strcpy(cmdbuf, env_pager); |
} |
} |
|
|
cmsg = atoi(&inbuf[1]); |
cmsg = atoi(&inbuf[1]); |
else |
else |
cmsg = msg; |
cmsg = msg; |
sprintf(fname, "%s/%d", _PATH_MSGS, cmsg); |
snprintf(fname, sizeof(fname), "%s/%d", _PATH_MSGS, cmsg); |
|
|
oldpos = ftell(newmsg); |
oldpos = ftell(newmsg); |
|
|
|
|
else { |
else { |
strcpy(fname, _PATH_TMPFILE); |
strcpy(fname, _PATH_TMPFILE); |
mktemp(fname); |
mktemp(fname); |
sprintf(cmdbuf, _PATH_MAIL, fname); |
snprintf(cmdbuf, sizeof(cmdbuf), _PATH_MAIL, fname); |
mailing = YES; |
mailing = YES; |
} |
} |
if ((fd = open(fname, O_RDWR|O_EXCL|O_CREAT|O_APPEND)) == -1 || |
if ((fd = open(fname, O_RDWR|O_EXCL|O_CREAT|O_APPEND)) == -1 || |