diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2007-11-13 14:36:04 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2007-11-13 14:36:04 (GMT) |
commit | 4293fe3d97a3bba7761aa04873823fba5d1c8280 (patch) | |
tree | 5142878a2e2eab5fe9b4658d6c57a12c61b1382b | |
parent | 5d052711ae7530bf551da8ecc89a3aa5614ae4f2 (diff) | |
download | tcl-4293fe3d97a3bba7761aa04873823fba5d1c8280.zip tcl-4293fe3d97a3bba7761aa04873823fba5d1c8280.tar.gz tcl-4293fe3d97a3bba7761aa04873823fba5d1c8280.tar.bz2 |
The six-argument form of getaddressbyname_r() uses the fifth argument to
indicate whether the lookup succeeded or not on at least one platform. [Bug
1618235]
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | unix/tclUnixCompat.c | 12 |
2 files changed, 12 insertions, 6 deletions
@@ -1,3 +1,9 @@ +2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk> + + * unix/tclUnixCompat.c (TclpGetHostByName): The six-argument form of + getaddressbyname_r() uses the fifth argument to indicate whether the + lookup succeeded or not on at least one platform. [Bug 1618235] + 2007-11-13 Don Porter <dgp@users.sourceforge.net> * generic/regcomp.c: Convert optst() from expensive no-op to a diff --git a/unix/tclUnixCompat.c b/unix/tclUnixCompat.c index da3cd9d..2b5f53c 100644 --- a/unix/tclUnixCompat.c +++ b/unix/tclUnixCompat.c @@ -6,7 +6,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUnixCompat.c,v 1.11 2007/09/07 00:34:07 dgp Exp $ + * RCS: @(#) $Id: tclUnixCompat.c,v 1.12 2007/11/13 14:36:04 dkf Exp $ * */ @@ -345,12 +345,12 @@ TclpGetHostByName( sizeof(tsdPtr->hbuf), &h_errno); #elif defined(HAVE_GETHOSTBYNAME_R_6) - struct hostent *hePtr; - int h_errno; + struct hostent *hePtr = NULL; + int h_errno, result; - return (gethostbyname_r(name, &tsdPtr->hent, tsdPtr->hbuf, - sizeof(tsdPtr->hbuf), &hePtr, &h_errno) == 0) - ? &tsdPtr->hent : NULL; + result = gethostbyname_r(name, &tsdPtr->hent, tsdPtr->hbuf, + sizeof(tsdPtr->hbuf), &hePtr, &h_errno); + return (result == 0) ? hePtr : NULL; #elif defined(HAVE_GETHOSTBYNAME_R_3) struct hostent_data data; |