1: static char *rcsid = "$Header$";
   2: /*
   3:  * pman - print project manual
   4:  *
   5:  * Author: Peter J. Nicklin
   6:  */
   7: #include <stdio.h>
   8: #include "getarg.h"
   9: #include "path.h"
  10: #include "spms.h"
  11: #include "yesno.h"
  12: 
  13: #define CMDBUFSIZE  1024
  14: 
  15: char *PGN = "pman";         /* program name */
  16: 
  17: main(argc, argv)
  18:     int argc;
  19:     char **argv;
  20: {
  21:     extern int PPDEBUG;     /* project pathname debug flag */
  22:     char *argvtos();        /* convert cmd arguments to string */
  23:     char cmdbuf[CMDBUFSIZE];    /* man command buffer */
  24:     char *getcwp();         /* get current working project */
  25:     char *ppathname = CURPROJECT;   /* project pathname */
  26:     char *sprintf();        /* print output to string */
  27:     int status = 0;         /* exit status */
  28:     int xppath();           /* expand project pathname */
  29:     PATH pathbuf;           /* pathname struct buffer */
  30: 
  31:     {
  32:     register char *s;       /* option pointer */
  33:     while (--argc > 0 && **++argv == '-')
  34:         {
  35:         for (s = argv[0]+1; *s != '\0'; s++)
  36:             switch (*s)
  37:                 {
  38:                 case 'D':
  39:                     PPDEBUG = YES;
  40:                     break;
  41:                 case 'P':
  42:                     ppathname = GETARG(s);
  43:                     if (*ppathname == '\0')
  44:                         {
  45:                         warn("missing project name");
  46:                         status = 1;
  47:                         }
  48:                     goto endfor;
  49:                 default:
  50:                     warn("bad option -%c", *s);
  51:                     status = 1;
  52:                     goto endfor;
  53:                 }
  54:         endfor: continue;
  55:         }
  56:     }
  57:     if (status == 1 || argc < 1)
  58:         fatal("usage: pman [-P projectname] [section] topic ...");
  59: 
  60:     /* convert project pathname to regular pathname */
  61:     if (xppath(ppathname, &pathbuf) == -1)
  62:         {
  63:         patherr(ppathname);
  64:         exit(1);
  65:         }
  66:     else switch (pathbuf.p_mode & P_IFMT)
  67:         {
  68:         case P_IFHOME:
  69:         case P_IFPROOT:
  70:             break;
  71:         default:
  72:             fatal("%s: no such project", ppathname);
  73:             break;
  74:         }
  75:     sprintf(cmdbuf, "man -P %s/man %s",pathbuf.p_path,argvtos(argc, argv));
  76:     system(cmdbuf);
  77:     exit(status);
  78: }

Defined functions

main defined in line 17; never used

Defined variables

PGN defined in line 15; never used
rcsid defined in line 1; never used

Defined macros

CMDBUFSIZE defined in line 13; used 1 times
  • in line 23
Last modified: 1985-07-03
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 980
Valid CSS Valid XHTML 1.0 Strict