| |
1 /* This file is part of the Project Athena Zephyr Notification System. |
| |
2 * It contains source for the ZGetWGPort function. |
| |
3 * |
| |
4 * Created by: Robert French |
| |
5 * |
| |
6 * Copyright (c) 1987 by the Massachusetts Institute of Technology. |
| |
7 * For copying and distribution information, see the file |
| |
8 * "mit-copyright.h". |
| |
9 */ |
| |
10 |
| |
11 #include "internal.h" |
| |
12 |
| |
13 int ZGetWGPort() |
| |
14 { |
| |
15 char *envptr, name[128]; |
| |
16 FILE *fp; |
| |
17 int wgport; |
| |
18 #ifdef WIN32 |
| |
19 long int buffsize= 128; |
| |
20 char tempdir[buffsize]; |
| |
21 #endif |
| |
22 envptr = getenv("WGFILE"); |
| |
23 if (!envptr) { |
| |
24 #ifdef WIN32 |
| |
25 GetTempPath(buffsize,tempdir); |
| |
26 GetTempFileName(tempdir,"wg.",0,name); |
| |
27 #else |
| |
28 (void) sprintf(name, "/tmp/wg.%d", getuid()); |
| |
29 #endif |
| |
30 envptr = name; |
| |
31 } |
| |
32 if (!(fp = fopen(envptr, "r"))) |
| |
33 return (-1); |
| |
34 |
| |
35 /* if fscanf fails, return -1 via wgport */ |
| |
36 if (fscanf(fp, "%d", &wgport) != 1) |
| |
37 wgport = -1; |
| |
38 |
| |
39 (void) fclose(fp); |
| |
40 |
| |
41 return (wgport); |
| |
42 } |