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 
ZGetWGPort()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 }
43