]>
diplodocus.org Git - nmh/blob - docs/historical/2.9BSD/cmds/next.c
8 struct swit switches
[] = {
16 char *maildir
, *vec
[20], *folder
, *nfolder
;
22 char *arguments
[50], **argp
;
25 setbuf(stdout
, _sobuf
);
31 cp
= r1bindex(argv
[0], '/');
32 if((cp
= m_find(cp
)) != NULL
) {
33 ap
= brkstring(cp
= getcpy(cp
), " ", "\n");
34 ap
= copyip(ap
, arguments
);
41 switch(smatch(++cp
, switches
)) {
42 case -2:ambigsw(cp
, switches
); /* ambiguous */
45 case -1:vec
[vecp
++] = --cp
; continue;
46 case 0: if(next
> 0) /* -help */
47 help("next [+folder] [switches] [switches for \"type\" ]", switches
);
49 help("prev [+folder] [switches] [switches for \"type\" ]", switches
);
54 fprintf(stderr
, "Only one folder at a time.\n");
59 fprintf(stderr
, "Bad arg: %s\n", cp
);
60 fprintf(stderr
, "Usage: %s [+folder] [-l.switches]\n",
61 next
>0? "next" : "prev");
67 folder
= m_getfolder();
68 maildir
= m_maildir(folder
);
69 if(chdir(maildir
) < 0) {
70 fprintf(stderr
, "Can't chdir to: ");
74 if(!(mp
= m_gmsg(folder
))) {
75 fprintf(stderr
, "Can't read folder!?\n");
79 fprintf(stderr
, "No messages in \"%s\".\n", folder
);
82 if(!m_convert(next
> 0 ? "next" : "prev"))
84 m_replace(pfolder
, folder
);
85 if(mp
->lowsel
!= mp
->curmsg
)
87 vec
[1] = m_name(mp
->lowsel
);
88 printf("(Message %s:%s)\n", folder
, vec
[1]);
93 perror("Can't exec type");