2 Proprietary Rand Corporation
, 1981.
3 Further distribution of
this software
4 subject to the terms of the Rand
16 struct swit switches
[] = {
18 "noheader", 0, /* 1 */
28 char *maildir
, *vec
[20], *folder
;
33 char *arguments
[50], **argp
;
37 setbuf(stdout
, _sobuf
);
43 cp
= r1bindex(argv
[0], '/');
44 if((cp
= m_find(cp
)) != NULL
) {
45 ap
= brkstring(cp
= getcpy(cp
), " ", "\n");
46 ap
= copyip(ap
, arguments
);
49 VOID
copyip(argv
+1, ap
);
53 switch(smatch(++cp
, switches
)) {
54 case -2:ambigsw(cp
, switches
); /* ambiguous */
57 case -1:vec
[vecp
++] = --cp
; continue;
58 case 0: header
= 1; continue; /* -header */
59 case 1: header
= 0; continue; /* -noheader */
60 case 2: if(next
> 0) /* -help */
61 help("next [+folder] [switches] [switches for \"type\" ]", switches
);
63 help("prev [+folder] [switches] [switches for \"type\" ]", switches
);
68 fprintf(stderr
, "Only one folder at a time.\n");
71 folder
= path(cp
+1, TFOLDER
);
73 fprintf(stderr
, "Bad arg: %s\n", cp
);
74 fprintf(stderr
, "Usage: %s [+folder] [-l.switches]\n",
75 next
>0? "next" : "prev");
80 if(!m_find("path")) free(path("./", TFOLDER
));
82 folder
= m_getfolder();
83 maildir
= m_maildir(folder
);
84 if(chdir(maildir
) < 0) {
85 fprintf(stderr
, "Can't chdir to: ");
89 if(!(mp
= m_gmsg(folder
))) {
90 fprintf(stderr
, "Can't read folder!?\n");
94 fprintf(stderr
, "No messages in \"%s\".\n", folder
);
97 if(!m_convert(next
> 0 ? "next" : "prev"))
99 m_replace(pfolder
, folder
);
100 if(mp
->lowsel
!= mp
->curmsg
)
101 m_setcur(mp
->lowsel
);
102 vec
[1] = m_name(mp
->lowsel
);
104 printf("(Message %s:%s)\n", folder
, vec
[1]);
106 vec
[0] = r1bindex(showproc
, '/');
108 putenv("mhfolder", folder
);
109 execv(showproc
, vec
);
110 perror("Can't exec type");