* User commands.
*/
-static char *SccsId = "@(#)cmd1.c 1.7 %G%";
+static char *SccsId = "@(#)cmd1.c 1.9 %G%";
/*
* Print the current active headings.
dispc = 'N';
if ((mp->m_flag & (MREAD|MNEW)) == 0)
dispc = 'U';
+ if (mp->m_flag & MBOX)
+ dispc = 'M';
parse(headline, &hl, pbuf);
sprintf(wcount, " %d/%d", mp->m_lines, mp->m_size);
s = strlen(wcount);
pclose(obuf);
pipef = NULL;
}
- signal(SIGPIPE, SIG_DFL);
+ sigset(SIGPIPE, SIG_DFL);
return(0);
}
if (intty && outtty && (cp = value("crt")) != NOSTR) {
}
else {
pipef = obuf;
- signal(SIGPIPE, brokpipe);
+ sigset(SIGPIPE, brokpipe);
}
}
}
pclose(obuf);
pipef = NULL;
}
- signal(SIGPIPE, SIG_DFL);
+ sigset(SIGPIPE, SIG_DFL);
return(0);
}
brokpipe()
{
- signal(SIGPIPE, SIG_IGN);
longjmp(pipestop, 1);
+ sigrelse(SIGPIPE);
}
/*
}
return(0);
}
+
+/*
+ * Make sure all passed messages get mboxed.
+ */
+
+mboxit(msgvec)
+ int msgvec[];
+{
+ register int *ip;
+
+ for (ip = msgvec; *ip != 0; ip++) {
+ dot = &message[*ip-1];
+ dot->m_flag |= MTOUCH|MBOX;
+ dot->m_flag &= ~MPRESERVE;
+ }
+ return(0);
+}