home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 341b.lha / uucp1_v1.03d / src / MUtil / man.c < prev    next >
C/C++ Source or Header  |  1990-01-28  |  1KB  |  63 lines

  1.  
  2. /*
  3.  *  MAN.C
  4.  *
  5.  *  MAN <topic>
  6.  *
  7.  *  searches for MAN:topic or MAN:topic.Doc
  8.  */
  9.  
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include <config.h>
  13. #include "/version.h"
  14.  
  15. IDENT(".00");
  16.  
  17. void
  18. main(ac, av)
  19. char *av[];
  20. {
  21.     short i;
  22.     static char Buf[256];
  23.  
  24.     for (i = 1; i < ac; ++i) {
  25.     char *topic = av[i];
  26.  
  27.     if (Man(topic) == 0) {
  28.         sprintf(Buf, "MAN:%s", topic);
  29.         if (Man(Buf) == 0) {
  30.         sprintf(Buf, "MAN:%s.Doc", topic);
  31.         if (Man(Buf) == 0)
  32.             printf("Unable to open MAN:%s or MAN:%s.Doc\n", topic, topic);
  33.         }
  34.     }
  35.     }
  36. }
  37.  
  38. Man(file)
  39. char *file;
  40. {
  41.     FILE *fi = fopen(file, "r");
  42.     char *filter = FindConfig(RFILTER);
  43.     short rb = 1;
  44.     static char Cmd[256];
  45.  
  46.     if (fi == NULL)
  47.     return(0);
  48.     if (filter == NULL) {
  49.     if ((filter = FindConfig(FILTER)) == NULL) {
  50.         printf("UULIB:Config, no 'Filter' entry\n");
  51.         return(0);
  52.     }
  53.     rb = 0;
  54.     }
  55.     fclose(fi);
  56.     if (rb)
  57.     sprintf(Cmd, "Run >nil: <nil: %s %s", filter, file);
  58.     else
  59.     sprintf(Cmd, "%s %s", filter, file);
  60.     Execute(Cmd, NULL, NULL);
  61. }
  62.  
  63.