-
- if (ef != NOSTR) {
- char *ename;
-
- edit++;
- ename = expand(ef);
- if (ename != ef) {
- ef = malloc((unsigned) strlen(ename) + 1);
- strcpy(ef, ename);
- }
- editfile = ef;
- strcpy(mailname, ef);
- }
- if (setfile(mailname, edit) < 0) {
- if (edit)
- perror(mailname);
- else
- fprintf(stderr, "No mail for %s\n", myname);
- exit(1);
- }
- if (!noheader && value("noheader") == NOSTR) {
- if (setjmp(hdrjmp) == 0) {
- if ((prevint = signal(SIGINT, SIG_IGN)) != SIG_IGN)
- signal(SIGINT, hdrstop);
- announce(!0);
- fflush(stdout);
- signal(SIGINT, prevint);
- }
- }
- if (!edit && msgCount == 0) {
- printf("No mail\n");
+ if (ef == NOSTR)
+ ef = "%";
+ if (setfile(ef) < 0)
+ exit(1); /* error already reported */
+ if (setjmp(hdrjmp) == 0) {
+ extern char *version;
+
+ if ((prevint = signal(SIGINT, SIG_IGN)) != SIG_IGN)
+ signal(SIGINT, hdrstop);
+ if (value("quiet") == NOSTR)
+ printf("Mail version %s. Type ? for help.\n",
+ version);
+ announce();