1: static  char    sccsid[] = "@(#)expw.c	2.8";    /*	SCCS id keyword	*/
   2: 
   3: #include <stdio.h>
   4: #define PASSWD  "/etc/passwd"
   5: #include <signal.h>
   6: 
   7: main(argc, argv)
   8: char *argv[];
   9: {
  10:     char *editor, *p;
  11: 
  12:     if (pwlock("w")) {
  13:         printf("Temp file busy\n");
  14:         exit(-1);
  15:     }
  16: 
  17:     p = rindex(argv[0], '/');
  18:     if (*++p == 'v')
  19:         editor = "vi";
  20:     else
  21:         editor = "ex";
  22: 
  23:     if (!fork()) {
  24:         execlp(editor, editor, PASSWD, 0);
  25:         printf("No ex!\n");
  26:         exit(-2);
  27:     }
  28:     signal(SIGHUP, SIG_IGN);
  29:     signal(SIGINT, SIG_IGN);
  30:     signal(SIGQUIT, SIG_IGN);
  31:     signal(SIGTERM, SIG_IGN);
  32:     while (wait((int *) 0) != -1);
  33:     printf("Making map files\n");
  34:     fflush(stdout);
  35:     pwunlock();
  36:     printf("Passwd file unlocked\n");
  37:     exit(0);
  38: }

Defined functions

main defined in line 7; never used

Defined variables

sccsid defined in line 1; never used

Defined macros

PASSWD defined in line 4; used 1 times
  • in line 24
Last modified: 1981-06-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 767
Valid CSS Valid XHTML 1.0 Strict