From: utzoo!decvax!ittvax!tpdcvax!bobvan Newsgroups: net.bugs.4bsd Title: Catman doesn't handle local man pages Article-I.D.: tpdcvax.158 Posted: Fri Sep 17 10:29:01 1982 Received: Tue Sep 21 09:04:29 1982 Our 4.1BSD catman(8) didn't support the local, new, and public sections of the manual, as the Berkeley man(1) command did. The fix is simple and is given below as diff -c output. *** catman.orig.c Wed Oct 1 19:55:48 1980 --- catman.c Thu Sep 16 16:30:31 1982 *************** *** 15,20 nflag = 0, wflag = 0; main(ac, av) int ac; char *av[]; { --- 15,22 ----- nflag = 0, wflag = 0; + char *rindex(); + main(ac, av) int ac; char *av[]; { *************** *** 45,51 if (ac == 2) sections = *av; else if (ac < 2) ! sections = "12345678"; else { usage: printf("usage: catman [ -p ] [ -n ] [ -w ] [ sections ]\n"); --- 47,53 ----- if (ac == 2) sections = *av; else if (ac < 2) ! sections = "12345678lnp"; else { usage: printf("usage: catman [ -p ] [ -n ] [ -w ] [ sections ]\n"); *************** *** 85,92 tsp = rindex(dir.d_name, '.'); if (tsp == NULL) continue; ! if (!isdigit(*++tsp) || ((*++tsp && !isalpha(*tsp)) || *++tsp)) ! continue; strncpy(msp, dir.d_name, DIRSIZ); if ((inf = fopen(man, "r")) == NULL) { --- 87,101 ----- tsp = rindex(dir.d_name, '.'); if (tsp == NULL) continue; ! switch (*++tsp) { ! case '1': case '2': case '3': case '4': ! case '5': case '6': case '7': case '8': ! case 'l': case 'n': case 'p': ! if (isalpha(*++tsp) || *tsp=='\0') ! break; ! default: ! continue; ! } strncpy(msp, dir.d_name, DIRSIZ); if ((inf = fopen(man, "r")) == NULL) { ------------------------ Bob Van Valzah (...!decvax!ittvax!tpdcvax!bobvan)