Commit | Line | Data |
---|---|---|
f058ce94 | 1 | #ifndef lint |
ec124b16 | 2 | static char sccsid[] = "@(#)getwd.c 5.4 (Berkeley) %G%"; |
f058ce94 SL |
3 | #endif |
4 | ||
5 | #include "uucp.h" | |
6 | ||
46b15d8a RC |
7 | /* |
8 | * get working directory | |
f058ce94 | 9 | * |
ec124b16 JB |
10 | * return codes 0 = FAIL |
11 | * wkdir = SUCCES | |
f058ce94 SL |
12 | */ |
13 | ||
ec124b16 JB |
14 | char * |
15 | getwd(wkdir) | |
f058ce94 SL |
16 | register char *wkdir; |
17 | { | |
18 | register FILE *fp; | |
19 | extern FILE *rpopen(); | |
20 | extern int rpclose(); | |
21 | register char *c; | |
22 | ||
23 | *wkdir = '\0'; | |
46b15d8a | 24 | if ((fp = rpopen("PATH=/bin:/usr/bin:/usr/ucb;pwd 2>&-", "r")) == NULL) |
ec124b16 | 25 | return 0; |
46b15d8a RC |
26 | if (fgets(wkdir, 100, fp) == NULL) { |
27 | rpclose(fp); | |
ec124b16 | 28 | return 0; |
f058ce94 SL |
29 | } |
30 | if (*(c = wkdir + strlen(wkdir) - 1) == '\n') | |
31 | *c = '\0'; | |
32 | rpclose(fp); | |
ec124b16 | 33 | return wkdir; |
f058ce94 | 34 | } |