aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2000-11-22 03:40:19 +0000
committerBruce Momjian <bruce@momjian.us>2000-11-22 03:40:19 +0000
commit287fd7a995233befce66e7ec46b758d488d6a378 (patch)
treec3b3eee358db448be5543238fab7ad93e7727a59
parente921ff1779e99f6ef27bdfad79728c6e664913a3 (diff)
downloadpostgresql-287fd7a995233befce66e7ec46b758d488d6a378.tar.gz
postgresql-287fd7a995233befce66e7ec46b758d488d6a378.zip
Recommit socket path fix. It works now.
-rw-r--r--src/include/libpq/pqcomm.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/include/libpq/pqcomm.h b/src/include/libpq/pqcomm.h
index c44ce681b51..8d5419dab45 100644
--- a/src/include/libpq/pqcomm.h
+++ b/src/include/libpq/pqcomm.h
@@ -9,7 +9,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pqcomm.h,v 1.48 2000/11/22 02:47:30 momjian Exp $
+ * $Id: pqcomm.h,v 1.49 2000/11/22 03:40:19 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -51,17 +51,16 @@ typedef union SockAddr
/* Configure the UNIX socket address for the well known port. */
#if defined(SUN_LEN)
-#define UNIXSOCK_PATH(sun,port,defpath) \
- ((defpath && defpath[0] != '\0') ? (strncpy((sun).sun_path, defpath, sizeof((sun).sun_path)), (sun).sun_path[sizeof((sun).sun_path)-1] = '\0') : sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port)))
#define UNIXSOCK_LEN(sun) \
(SUN_LEN(&(sun)))
#else
-#define UNIXSOCK_PATH(sun,port,defpath) \
- ((defpath && defpath[0] != '\0') ? (strncpy((sun).sun_path, defpath, sizeof((sun).sun_path)), (sun).sun_path[sizeof((sun).sun_path)-1] = '\0') : sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port)))
#define UNIXSOCK_LEN(sun) \
(strlen((sun).sun_path)+ offsetof(struct sockaddr_un, sun_path))
#endif
+#define UNIXSOCK_PATH(sun,port,defpath) \
+ (sprintf((sun).sun_path, "%s/.s.PGSQL.%d", ((defpath) && *(defpath) != '\0') ? (defpath) : "/tmp", (port)))
+
/*
* We do this because sun_len is in BSD's struct, while others don't.
* We never actually set BSD's sun_len, and I can't think of a