Mercurial > hg > xemacs-beta
diff lib-src/gnuserv.c @ 259:11cf20601dec r20-5b28
Import from CVS: tag r20-5b28
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:23:02 +0200 |
parents | 41f2f0e326e9 |
children | 972bbb6d6ca2 |
line wrap: on
line diff
--- a/lib-src/gnuserv.c Mon Aug 13 10:22:10 2007 +0200 +++ b/lib-src/gnuserv.c Mon Aug 13 10:23:02 2007 +0200 @@ -139,7 +139,7 @@ key_t key; /* messge key */ char buf[GSERV_BUFSZ]; /* pathname for key */ - sprintf (buf,"/tmp/gsrv%d",(int)geteuid ()); + sprintf (buf,"%s/gsrv%d",tmpdir,(int)geteuid ()); creat (buf,0600); key = ftok (buf,1); @@ -743,7 +743,7 @@ /* Set up address structure for the listen socket. */ #ifdef HIDE_UNIX_SOCKET - sprintf(server.sun_path,"/tmp/gsrvdir%d",(int)geteuid()); + sprintf(server.sun_path,"%s/gsrvdir%d",tmpdir,(int)geteuid()); if (mkdir(server.sun_path, 0700) < 0) { /* assume it already exists, and try to set perms */ @@ -758,7 +758,7 @@ strcat(server.sun_path,"/gsrv"); unlink(server.sun_path); /* remove old file if it exists */ #else /* HIDE_UNIX_SOCKET */ - sprintf(server.sun_path,"/tmp/gsrv%d",(int)geteuid()); + sprintf(server.sun_path,"%s/gsrv%d",tmpdir,(int)geteuid()); unlink(server.sun_path); /* remove old file if it exists */ #endif /* HIDE_UNIX_SOCKET */ @@ -849,6 +849,11 @@ for(chan=3; chan < _NFILE; close(chan++)) /* close unwanted channels */ ; +#ifdef USE_TMPDIR + tmpdir = getenv("TMPDIR"); +#endif + if (!tmpdir) + tmpdir = "/tmp"; #ifdef USE_LITOUT { /* this is to allow ^D to pass to emacs */