diff options
author | Werner Koch <[email protected]> | 2004-12-20 16:03:01 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2004-12-20 16:03:01 +0000 |
commit | bbada39dc11da8a61b6f9d503aa60be348ae27f6 (patch) | |
tree | d86d2bdcfceaea0f87c8148c673adfb0795a94ef | |
parent | (assuan_init_pipe_server) [W32]: Map file (diff) | |
download | libassuan-bbada39dc11da8a61b6f9d503aa60be348ae27f6.tar.gz libassuan-bbada39dc11da8a61b6f9d503aa60be348ae27f6.zip |
(assuan_socket_connect): Allow for a
drive letter in the path.
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/assuan-socket-connect.c | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 4f4061b..d50e1c9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2004-12-20 Werner Koch <[email protected]> + + * assuan-socket-connect.c (assuan_socket_connect) [W32]: Allow for + a drive letter in the path. + 2004-12-19 Werner Koch <[email protected]> * assuan-pipe-server.c (assuan_init_pipe_server) [W32]: Map file diff --git a/src/assuan-socket-connect.c b/src/assuan-socket-connect.c index 0a60133..75e99ac 100644 --- a/src/assuan-socket-connect.c +++ b/src/assuan-socket-connect.c @@ -85,6 +85,7 @@ assuan_socket_connect (ASSUAN_CONTEXT *r_ctx, int fd; struct sockaddr_un srvr_addr; size_t len; + const char *s; #ifdef HAVE_W32_SYSTEM _assuan_log_printf ("%s: name =`%s'\n", __FUNCTION__, name); @@ -95,9 +96,14 @@ assuan_socket_connect (ASSUAN_CONTEXT *r_ctx, *r_ctx = NULL; /* We require that the name starts with a slash, so that we can - alter reuse this function for other socket types */ - if (*name != DIRSEP_C && *name != '/') + alter reuse this function for other socket types. To make things + easier we allow an optional dirver prefix. */ + s = name; + if (*s && s[1] == ':') + s += 2; + if (*s != DIRSEP_C && *s != '/') return ASSUAN_Invalid_Value; + if (strlen (name)+1 >= sizeof srvr_addr.sun_path) return ASSUAN_Invalid_Value; |