From 5b959ce857bab8613cad2af9a8f8a5c0e77db905 Mon Sep 17 00:00:00 2001 From: CaS Date: Tue, 14 Sep 2004 15:31:13 +0000 Subject: [PATCH] Minor improvement in usability git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20064 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 2 ++ Tools/gdomap.c | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index bdb794c0d..ddaaf86d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ * Source/NSDateFormatter.m: * Source/NSNumberFormatter.m: Tolerate being given null pointers to return values in. + * Tools/gdomap.c: Try both short and long forms of local host name. + Report host name used when gethostbyname() fails. 2004-09-13 Adrian Robert diff --git a/Tools/gdomap.c b/Tools/gdomap.c index f89adc643..f1bedf7a7 100644 --- a/Tools/gdomap.c +++ b/Tools/gdomap.c @@ -3971,8 +3971,8 @@ donames(const char *host) unsigned short num = 0; int rval; uptr b; - char *first_dot; - char *local_hostname=NULL; + char *first_dot = 0; + char *local_hostname = NULL; #if GDOMAP_PORT_OVERRIDE p = htons(GDOMAP_PORT_OVERRIDE); @@ -4007,9 +4007,14 @@ donames(const char *host) } host = local_hostname; } - if ((hp = gethostbyname(host)) == 0) + if ((hp = gethostbyname(host)) == 0 && first_dot != 0) { - sprintf(ebuf, "gethostbyname() failed: %s", strerror(errno)); + *first_dot = '.'; + hp = gethostbyname(host); + } + if (hp == 0) + { + sprintf(ebuf, "gethostbyname('%s') failed: %s", host, strerror(errno)); gdomap_log(LOG_ERR); return; }