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