summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixChan.c
diff options
context:
space:
mode:
Diffstat (limited to 'unix/tclUnixChan.c')
-rw-r--r--unix/tclUnixChan.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/unix/tclUnixChan.c b/unix/tclUnixChan.c
index 6949f8b..3b8098c 100644
--- a/unix/tclUnixChan.c
+++ b/unix/tclUnixChan.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclUnixChan.c,v 1.85 2007/11/13 14:52:49 das Exp $
+ * RCS: @(#) $Id: tclUnixChan.c,v 1.86 2007/11/13 14:59:38 dkf Exp $
*/
#include "tclInt.h" /* Internal definitions for Tcl. */
@@ -2646,6 +2646,7 @@ CreateSocketAddress(
{
#ifdef HAVE_GETADDRINFO
struct addrinfo hints, *resPtr = NULL;
+ Tcl_DString ds;
int result;
if (host == NULL) {
@@ -2668,7 +2669,9 @@ CreateSocketAddress(
* that right, it shouldn't use this part of the code.
*/
- result = getaddrinfo(host, NULL, &hints, &resPtr);
+ native = Tcl_UtfToExternalDString(NULL, host, -1, &ds);
+ result = getaddrinfo(Tcl_DStringValue(&ds), NULL, &hints, &resPtr);
+ Tcl_DStringFree(&ds);
if (result == 0) {
memcpy(sockaddrPtr, resPtr->ai_addr, sizeof(struct sockaddr_in));
freeaddrinfo(resPtr);