1: /* $Header$ */
2:
3: /*
4: * Author: Peter J. Nicklin
5: */
6: #include <stdio.h>
7: #include "macro.h"
8: #include "yesno.h"
9:
10: /*
11: * ch_dir changes current working directory. Returns integer YES if
12: * successful, otherwise NO.
13: */
14: ch_dir(pathname)
15: char *pathname; /* pathname of destination directory */
16: {
17: extern int IGNORE_BAD_EXIT; /* exit if command doesn't return 0 */
18:
19: if (!CHDIR(pathname))
20: {
21: pperror(pathname);
22: if (IGNORE_BAD_EXIT == NO)
23: pxexit();
24: return(NO);
25: }
26: return(YES);
27: }
28:
29:
30:
31: /*
32: * getpvindex() returns the location of the PROJECT environment
33: * variable in the global cell environ.
34: */
35: getpvindex()
36: {
37: extern char **environ; /* global environment cell */
38: register int i; /* location of PROJECT env. variable */
39: int strncmp(); /* compare n characters */
40:
41: for (i = 0; environ[i] != NULL; i++)
42: if (strncmp(environ[i], "PROJECT=", 8) == 0)
43: return(i);
44: return(-1);
45: }
46:
47:
48:
49: /*
50: * nomorecore() prints a warning error message and then exits.
51: */
52: nomorecore()
53: {
54: warn("out of memory");
55: pxexit();
56: }
57:
58:
59:
60: /*
61: * print_title prints a project directory title.
62: */
63: void
64: print_title(ppathname)
65: char *ppathname; /* project directory pathname */
66: {
67: static int done_command; /* has a command been done? */
68:
69: printf((done_command) ? "\n==> %s <==\n" : "==> %s <==\n", ppathname);
70: fflush(stdout);
71: done_command = 1;
72: }
73:
74:
75:
76: /*
77: * pxexit() calls exit(ERRSTATUS).
78: */
79: pxexit()
80: {
81: extern int ERRSTATUS; /* pexec error status */
82:
83: exit(ERRSTATUS);
84: }
Defined functions
pxexit
defined in line
79; used 14 times