[PATCH:xscope 06/14] Ensure ScopeHost global is initialized when built with USE_XTRANS

Jeremy Huddleston jeremyhu at apple.com
Sat Sep 24 12:43:00 PDT 2011


Can we use this opportunity to use getaddrinfo(3) rather than gethostbyname(3) as it is the preferred API and will make xscope IPv6 compatible.

On Sep 24, 2011, at 08:48, Alan Coopersmith wrote:

> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
> ---
> common.c |   15 +++++++--------
> 1 files changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/common.c b/common.c
> index 42220cd..3779b13 100644
> --- a/common.c
> +++ b/common.c
> @@ -200,9 +200,15 @@ SetUpConnectionSocket(
>   struct linger linger;
> #endif /* SO_DONTLINGER */
> #endif
> +  char    MyHostName[256];
> 
>   enterprocedure("SetUpConnectionSocket");
> 
> +  (void) gethostname(MyHostName, sizeof(MyHostName));
> +  ScopeHost = strdup(MyHostName);
> +  if (ScopeHost == NULL)
> +    panic("Can't allocate memory for hostname");
> +
> #ifdef USE_XTRANS
>   ScopePort = iport - ServerBasePort;
>   sprintf (port, "%d", ScopePort);
> @@ -258,14 +264,7 @@ SetUpConnectionSocket(
>    */
>   {
>     /* define the host part of the address */
> -    char    MyHostName[256];
> -    struct hostent *hp;
> -
> -    (void) gethostname(MyHostName, sizeof(MyHostName));
> -    ScopeHost = strdup(MyHostName);
> -    if (ScopeHost == NULL)
> -      panic("Can't allocate memory for hostname");
> -    hp = gethostbyname(MyHostName);
> +    struct hostent *hp = gethostbyname(MyHostName);
>     if (hp == NULL)
>       panic("No address for our host");
>     bcopy((char *)hp->h_addr, (char*)&sin.sin_addr, hp->h_length);
> -- 
> 1.7.3.2
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 



More information about the xorg-devel mailing list