projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't remove the draft on SIGQUIT to allow debugging
[mmh]
/
uip
/
pick.c
diff --git
a/uip/pick.c
b/uip/pick.c
index
a487adc
..
8448d96
100644
(file)
--- a/
uip/pick.c
+++ b/
uip/pick.c
@@
-92,7
+92,7
@@
main(int argc, char **argv)
char *seqs[NUMATTRS + 1], *vec[MAXARGS];
struct msgs_array msgs = { 0, 0, NULL };
struct msgs *mp;
char *seqs[NUMATTRS + 1], *vec[MAXARGS];
struct msgs_array msgs = { 0, 0, NULL };
struct msgs *mp;
- register FILE *fp;
+ FILE *fp;
if (atexit(putzero_done) != 0) {
adios(EX_OSERR, NULL, "atexit failed");
if (atexit(putzero_done) != 0) {
adios(EX_OSERR, NULL, "atexit failed");
@@
-381,6
+381,7
@@
static struct swit parswit[] = {
static char linebuf[LBSIZE + 1];
static char linebuf[LBSIZE + 1];
+static char decoded_linebuf[LBSIZE + 1];
/* the magic array for case-independence */
static char cc[] = {
/* the magic array for case-independence */
static char cc[] = {
@@
-506,7
+507,7
@@
static int TWSaction();
static int
pcompile(char **vec, char *date)
{
static int
pcompile(char **vec, char *date)
{
- register char *cp;
+ char *cp;
if ((cp = getenv("MHPDEBUG")) && *cp)
pdebug++;
if ((cp = getenv("MHPDEBUG")) && *cp)
pdebug++;
@@
-531,8
+532,8
@@
pcompile(char **vec, char *date)
static struct nexus *
parse(void)
{
static struct nexus *
parse(void)
{
- register char *cp;
- register struct nexus *n, *o;
+ char *cp;
+ struct nexus *n, *o;
if ((n = nexp1()) == NULL || (cp = nxtarg()) == NULL)
return n;
if ((n = nexp1()) == NULL || (cp = nxtarg()) == NULL)
return n;
@@
-572,8
+573,8
@@
header: ;
static struct nexus *
nexp1(void)
{
static struct nexus *
nexp1(void)
{
- register char *cp;
- register struct nexus *n, *o;
+ char *cp;
+ struct nexus *n, *o;
if ((n = nexp2()) == NULL || (cp = nxtarg()) == NULL)
return n;
if ((n = nexp2()) == NULL || (cp = nxtarg()) == NULL)
return n;
@@
-614,8
+615,8
@@
header: ;
static struct nexus *
nexp2(void)
{
static struct nexus *
nexp2(void)
{
- register char *cp;
- register struct nexus *n;
+ char *cp;
+ struct nexus *n;
if ((cp = nxtarg()) == NULL)
return NULL;
if ((cp = nxtarg()) == NULL)
return NULL;
@@
-655,9
+656,9
@@
static struct nexus *
nexp3(void)
{
int i;
nexp3(void)
{
int i;
- register char *cp, *dp;
+ char *cp, *dp;
char buffer[BUFSIZ], temp[64];
char buffer[BUFSIZ], temp[64];
- register struct nexus *n;
+ struct nexus *n;
if ((cp = nxtarg()) == NULL)
return NULL;
if ((cp = nxtarg()) == NULL)
return NULL;
@@
-766,9
+767,9
@@
pattern: ;
static struct nexus *
newnexus(int (*action)())
{
static struct nexus *
newnexus(int (*action)())
{
- register struct nexus *p;
+ struct nexus *p;
- if ((p = (struct nexus *) calloc((size_t) 1, sizeof *p)) == NULL)
+ if ((p = (struct nexus *) mh_xcalloc((size_t) 1, sizeof *p)) == NULL)
adios(EX_OSERR, NULL, "unable to allocate component storage");
p->n_action = action;
adios(EX_OSERR, NULL, "unable to allocate component storage");
p->n_action = action;
@@
-779,8
+780,8
@@
newnexus(int (*action)())
#define args(a) a, fp, msgnum, start, stop
#define params args(n)
#define plist \
#define args(a) a, fp, msgnum, start, stop
#define params args(n)
#define plist \
- register struct nexus *n; \
- register FILE *fp; \
+ struct nexus *n; \
+ FILE *fp; \
int msgnum; \
long start, \
stop;
int msgnum; \
long start, \
stop;
@@
-801,7
+802,7
@@
pmatches(FILE *fp, int msgnum, long start, long stop)
static void
PRaction(struct nexus *n, int level)
{
static void
PRaction(struct nexus *n, int level)
{
- register int i;
+ int i;
for (i = 0; i < level; i++)
fprintf(stderr, "| ");
for (i = 0; i < level; i++)
fprintf(stderr, "| ");
@@
-870,9
+871,9
@@
plist
static int
gcompile(struct nexus *n, char *astr)
{
static int
gcompile(struct nexus *n, char *astr)
{
- register int c;
+ int c;
int cclcnt;
int cclcnt;
- register unsigned char *ep, *dp, *sp, *lastep = 0;
+ unsigned char *ep, *dp, *sp, *lastep = 0;
dp = (ep = n->n_expbuf) + sizeof n->n_expbuf;
sp = astr;
dp = (ep = n->n_expbuf) + sizeof n->n_expbuf;
sp = astr;
@@
-962,7
+963,7
@@
plist
{
int c, body, lf;
long pos = start;
{
int c, body, lf;
long pos = start;
- register char *p1, *p2, *ebp, *cbp;
+ char *p1, *p2, *ebp, *cbp;
char ibuf[BUFSIZ];
fseek(fp, start, SEEK_SET);
char ibuf[BUFSIZ];
fseek(fp, start, SEEK_SET);
@@
-1016,6
+1017,13
@@
plist
p1 = linebuf;
p2 = n->n_expbuf;
p1 = linebuf;
p2 = n->n_expbuf;
+ /* Attempt to decode as a MIME header. If it's the last header,
+ * body will be 1 and lf will be at least 1. */
+ if ((body == 0 || lf > 0) &&
+ decode_rfc2047 (linebuf, decoded_linebuf, sizeof decoded_linebuf)) {
+ p1 = decoded_linebuf;
+ }
+
if (n->n_circf) {
if (advance(p1, p2))
return 1;
if (n->n_circf) {
if (advance(p1, p2))
return 1;
@@
-1043,7
+1051,7
@@
plist
static int
advance(char *alp, char *aep)
{
static int
advance(char *alp, char *aep)
{
- register unsigned char *lp, *ep, *curlp;
+ unsigned char *lp, *ep, *curlp;
lp = (unsigned char *)alp;
ep = (unsigned char *)aep;
lp = (unsigned char *)alp;
ep = (unsigned char *)aep;
@@
-1120,8
+1128,8
@@
star:
static int
cclass(unsigned char *aset, int ac, int af)
{
static int
cclass(unsigned char *aset, int ac, int af)
{
- register unsigned int n;
- register unsigned char c, *set;
+ unsigned int n;
+ unsigned char c, *set;
set = aset;
if ((c = ac) == 0)
set = aset;
if ((c = ac) == 0)
@@
-1139,7
+1147,7
@@
cclass(unsigned char *aset, int ac, int af)
static int
tcompile(char *ap, struct tws *tb, int isafter)
{
static int
tcompile(char *ap, struct tws *tb, int isafter)
{
- register struct tws *tw;
+ struct tws *tw;
if ((tw = tws_parse(ap, isafter)) == NULL)
return 0;
if ((tw = tws_parse(ap, isafter)) == NULL)
return 0;
@@
-1153,7
+1161,7
@@
static struct tws *
tws_parse(char *ap, int isafter)
{
char buffer[BUFSIZ];
tws_parse(char *ap, int isafter)
{
char buffer[BUFSIZ];
- register struct tws *tw, *ts;
+ struct tws *tw, *ts;
if ((tw = tws_special(ap)) != NULL) {
tw->tw_sec = tw->tw_min = isafter ? 59 : 0;
if ((tw = tws_special(ap)) != NULL) {
tw->tw_sec = tw->tw_min = isafter ? 59 : 0;
@@
-1195,7
+1203,7
@@
tws_special(char *ap)
{
int i;
time_t clock;
{
int i;
time_t clock;
- register struct tws *tw;
+ struct tws *tw;
time(&clock);
if (!mh_strcasecmp(ap, "today"))
time(&clock);
if (!mh_strcasecmp(ap, "today"))
@@
-1234,9
+1242,9
@@
TWSaction(params)
plist
{
int state;
plist
{
int state;
- register char *bp;
+ char *bp;
char buf[BUFSIZ], name[NAMESZ];
char buf[BUFSIZ], name[NAMESZ];
- register struct tws *tw;
+ struct tws *tw;
fseek(fp, start, SEEK_SET);
for (state = FLD, bp = NULL;;) {
fseek(fp, start, SEEK_SET);
for (state = FLD, bp = NULL;;) {