#include <h/utils.h>
#include <pwd.h>
-#include <signal.h>
#include <sys/ioctl.h>
#include <fcntl.h>
}
if (vecp > 5) {
- if (!mh_strcasecmp (vec[5], "select")) {
+ if (!strcasecmp (vec[5], "select")) {
if (logged_in () != -1)
continue;
if (vecp > 7 && timely (vec[6], vec[7]) == -1)
* "default" matches only if the message hasn't
* been delivered yet.
*/
- if (!mh_strcasecmp (field, "default")) {
+ if (!strcasecmp (field, "default")) {
if (won)
continue;
break;
switch (*action) {
case 'q':
/* deliver to quoted pipe */
- if (mh_strcasecmp (action, "qpipe"))
+ if (strcasecmp (action, "qpipe"))
continue; /* else fall */
case '^':
expand (tmpbuf, string, fd);
case 'p':
/* deliver to pipe */
- if (mh_strcasecmp (action, "pipe"))
+ if (strcasecmp (action, "pipe"))
continue; /* else fall */
case '|':
vec[2] = "sh";
case 'f':
/* mbox format */
- if (!mh_strcasecmp (action, "file")) {
+ if (!strcasecmp (action, "file")) {
status = usr_file (fd, string, MBOX_FORMAT);
break;
}
/* deliver to nmh folder */
- else if (mh_strcasecmp (action, "folder"))
+ else if (strcasecmp (action, "folder"))
continue; /* else fall */
case '+':
status = usr_folder (fd, string);
case 'm':
/* mmdf format */
- if (!mh_strcasecmp (action, "mmdf")) {
+ if (!strcasecmp (action, "mmdf")) {
status = usr_file (fd, string, MMDF_FORMAT);
break;
}
/* mbox format */
- else if (mh_strcasecmp (action, "mbox"))
+ else if (strcasecmp (action, "mbox"))
continue; /* else fall */
case '>':
case 'd':
/* ignore message */
- if (mh_strcasecmp (action, "destroy"))
+ if (strcasecmp (action, "destroy"))
continue;
status = 0;
break;
split (char *cp, char **vec)
{
int i;
- unsigned char *s;
+ char *s;
s = cp;
vec[i] = NULL;
/* zap any whitespace and comma's */
- while (isspace (*s) || *s == ',')
+ while (isspace ((unsigned char) *s) || *s == ',')
*s++ = 0;
/* end of buffer, time to leave */
vec[i++] = s++;
/* move forward to next field delimiter */
- while (*s && !isspace (*s) && *s != ',')
+ while (*s && !isspace ((unsigned char) *s) && *s != ',')
s++;
}
vec[i] = NULL;
lp = add (field, lp);
}
for (p = hdrs; p->p_name; p++) {
- if (!mh_strcasecmp (p->p_name, name)) {
+ if (!strcasecmp (p->p_name, name)) {
if (!(p->p_flags & P_HID)) {
if ((cp = p->p_value)) {
if (p->p_flags & P_ADR) {
lookup (struct pair *pairs, char *key)
{
for (; pairs->p_name; pairs++)
- if (!mh_strcasecmp (pairs->p_name, key))
+ if (!strcasecmp (pairs->p_name, key))
return pairs;
return NULL;
*/
static int
-usr_pipe (int fd, char *cmd, char *pgm, char **vec, int suppress)
+usr_pipe (int fd_arg, char *cmd, char *pgm, char **vec, int suppress)
{
+ volatile int fd = fd_arg;
pid_t child_id;
int i, bytes, seconds, status;
struct stat st;
get_sender (char *envelope, char **sender)
{
int i;
- unsigned char *cp;
- unsigned char buffer[BUFSIZ];
+ char *cp;
+ char buffer[BUFSIZ];
if (envelope == NULL) {
*sender = getcpy ("");
*cp = 0;
for (cp = buffer + strlen (buffer) - 1; cp >= buffer; cp--)
- if (isspace (*cp))
+ if (isspace ((unsigned char) *cp))
*cp = 0;
else
break;
trim (char *cp)
{
char buffer[BUFSIZ*4];
- unsigned char *bp, *sp;
+ char *bp, *sp;
if (cp == NULL)
return NULL;
bp = buffer;
/* skip over leading whitespace */
- while (isspace(*bp))
+ while (isspace((unsigned char) *bp))
bp++;
/* start at the end and zap trailing whitespace */
for (sp = bp + strlen(bp) - 1; sp >= bp; sp--) {
- if (isspace(*sp))
+ if (isspace((unsigned char) *sp))
*sp = 0;
else
break;
/* replace remaining whitespace with spaces */
for (sp = bp; *sp; sp++)
- if (isspace(*sp))
+ if (isspace((unsigned char) *sp))
*sp = ' ';
/* now return a copy */
case FLD:
case FLDPLUS:
/* Search for the message ID */
- if (mh_strcasecmp (name, "Message-ID")) {
+ if (strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS) {
bufsz = sizeof buf;
state = m_getfld (&gstate, name, buf, &bufsz, in);
* This will fail if your Maildelivery file doesn't
* exist.
*/
- if ((lockfd = lkopen(file, O_RDWR, 0)) == -1) {
+ if ((lockfd = lkopendata(file, O_RDWR, 0)) == -1) {
advise (file, "unable to perform file locking on");
free (cp);
fclose (in);
}
dbm_close (db);
- lkclose(lockfd, file);
+ lkclosedata(lockfd, file);
free (cp);
fclose (in);
return result;
- break;
case BODY:
case FILEEOF: