1 static char *sccsid = "@(#)prmail.c 4.2 (Berkeley) 02/09/83"; 2 3 #include <pwd.h> 4 /* 5 * prmail 6 */ 7 struct passwd *getpwuid(); 8 char *getenv(); 9 10 main(argc, argv) 11 int argc; 12 char **argv; 13 { 14 register struct passwd *pp; 15 16 --argc, ++argv; 17 if (chdir("/usr/spool/mail") < 0) { 18 perror("/usr/spool/mail"); 19 exit(1); 20 } 21 if (argc == 0) { 22 char *user = getenv("USER"); 23 if (user == 0) { 24 pp = getpwuid(getuid()); 25 if (pp == 0) { 26 printf("Who are you?\n"); 27 exit(1); 28 } 29 user = pp->pw_name; 30 } 31 prmail(user, 0); 32 } else 33 while (--argc >= 0) 34 prmail(*argv++, 1); 35 exit(0); 36 } 37 38 #include <sys/types.h> 39 #include <sys/stat.h> 40 41 prmail(user, other) 42 char *user; 43 { 44 struct stat stb; 45 char cmdbuf[256]; 46 47 if (stat(user, &stb) < 0) { 48 printf("No mail for %s.\n", user); 49 return; 50 } 51 if (access(user, 4) < 0) { 52 printf("Mailbox for %s unreadable\n", user); 53 return; 54 } 55 if (other) 56 printf(">>> %s <<<\n", user); 57 sprintf(cmdbuf, "more %s", user); 58 system(cmdbuf); 59 if (other) 60 printf("-----\n\n"); 61 } 62