libgaim/protocols/zephyr/ZGetWGPort.c

Sun, 15 Apr 2007 02:10:37 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Sun, 15 Apr 2007 02:10:37 +0000
branch
cpw.khc.msnp14
changeset 20472
6a6d2ef151e6
parent 11105
src/protocols/zephyr/ZGetWGPort.c@842fa517e08c
parent 14254
src/protocols/zephyr/ZGetWGPort.c@77edc7a6191a
child 20471
1966704b3e42
permissions
-rw-r--r--

propagate from branch 'im.pidgin.gaim' (head b2836a24d81e7a1bd1d21b3aea8794b094391344)
to branch 'im.pidgin.rlaager.merging.soc-msnp13-to-svn18164' (head 463b4fa9f067b279f843520d95a822adc86a0a1b)

/* This file is part of the Project Athena Zephyr Notification System.
 * It contains source for the ZGetWGPort function.
 *
 *	Created by:	Robert French
 *
 *	Copyright (c) 1987 by the Massachusetts Institute of Technology.
 *	For copying and distribution information, see the file
 *	"mit-copyright.h". 
 */

#include "internal.h"

int ZGetWGPort()
{
    char *envptr, name[128];
    FILE *fp;
    int wgport;
#ifdef WIN32
    long int buffsize= 128;
    char tempdir[buffsize];
#endif	
    envptr = getenv("WGFILE");
    if (!envptr) {
#ifdef WIN32
         GetTempPath(buffsize,tempdir);
         GetTempFileName(tempdir,"wg.",0,name);
#else
	(void) sprintf(name, "/tmp/wg.%d", getuid());
#endif
	envptr = name;
    } 
    if (!(fp = fopen(envptr, "r")))
	return (-1);

    /* if fscanf fails, return -1 via wgport */
    if (fscanf(fp, "%d", &wgport) != 1)
	    wgport = -1;

    (void) fclose(fp);

    return (wgport);
}

mercurial