* resolv/res_hconf.c: Prepare for compiling outside libc.
	* nscd/res_hconf.c: New file.
	* nscd/Makefile (nscd-modules): Add res_hconf.  Add rules to build
	the new file.
	* nscd/gethstbynm2_r.c (NEED__RES_HCONF): Define.
	* nscd/gethstbyad_r.c (NEED__RES_HCONF): Likewise.
This commit is contained in:
Ulrich Drepper 2007-08-22 03:14:29 +00:00
parent a30d41c1d2
commit 1ce7d80ddc
7 changed files with 31 additions and 5 deletions

View File

@ -1,5 +1,13 @@
2007-08-21 Ulrich Drepper <drepper@redhat.com>
[BZ #4814]
* resolv/res_hconf.c: Prepare for compiling outside libc.
* nscd/res_hconf.c: New file.
* nscd/Makefile (nscd-modules): Add res_hconf. Add rules to build
the new file.
* nscd/gethstbynm2_r.c (NEED__RES_HCONF): Define.
* nscd/gethstbyad_r.c (NEED__RES_HCONF): Likewise.
* nscd/hstcache.c (cache_addhst): Minimal optimization.
[BZ #4925]

View File

@ -35,7 +35,7 @@ nscd-modules := nscd connections pwdcache getpwnam_r getpwuid_r grpcache \
getgrnam_r getgrgid_r hstcache gethstbyad_r gethstbynm2_r \
getsrvbynm_r getsrvbypt_r servicescache \
dbg_log nscd_conf nscd_stat cache mem nscd_setup_thread \
xmalloc xstrdup aicache initgrcache gai
xmalloc xstrdup aicache initgrcache gai res_hconf
ifeq ($(have-thread-library),yes)
@ -122,6 +122,7 @@ CFLAGS-gai.c += $(nscd-cflags)
CFLAGS-servicescache.c += $(nscd-cflags)
CFLAGS-getsrvbynm_r.c += $(nscd-cflags)
CFLAGS-getsrvbypt_r.c += $(nscd-cflags)
CFLAGS-res_hconf.c += $(nscd-cflags)
ifeq (yesyes,$(have-fpie)$(build-shared))
relro-LDFLAGS += -Wl,-z,now

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996,1997,1998,1999,2000,2005 Free Software Foundation, Inc.
/* Copyright (C) 1996-2000, 2005, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@ -26,5 +26,6 @@
#define ADD_VARIABLES addr, len, type
#define NEED_H_ERRNO 1
#define NEED__RES 1
#define NEED__RES_HCONF 1
#include "../nss/getXXbyYY_r.c"

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997, 1998, 2000, 2005 Free Software Foundation, Inc.
/* Copyright (C) 1996-1998, 2000, 2005, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@ -30,6 +30,7 @@
#define ADD_PARAMS const char *name, int af
#define ADD_VARIABLES name, af
#define NEED_H_ERRNO 1
#define NEED__RES_HCONF 1
#define HANDLE_DIGITS_DOTS 1
#define HAVE_LOOKUP_BUFFER 1

View File

@ -196,7 +196,7 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
/* Determine the number of addresses. */
h_addr_list_cnt = 0;
for (cnt = 0; hst->h_addr_list[cnt]; ++cnt)
while (hst->h_addr_list[h_addr_list_cnt] != NULL)
++h_addr_list_cnt;
if (h_addr_list_cnt == 0)

13
nscd/res_hconf.c Normal file
View File

@ -0,0 +1,13 @@
/* Add the include here so that we can redefine __fxprintf. */
#include <stdio.h>
/* Rename symbols for protected names used in libc itself. */
#define __ioctl ioctl
#define __socket socket
#define __strchrnul strchrnul
#define __strncasecmp strncasecmp
#define __fxprintf(args...) /* ignore */
#include "../resolv/res_hconf.c"

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1995-2005, 2006 Free Software Foundation, Inc.
/* Copyright (C) 1993, 1995-2006, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David Mosberger (davidm@azstarnet.com).
@ -361,6 +361,7 @@ _res_hconf_init (void)
}
#ifndef NOT_IN_libc
/* List of known interfaces. */
libc_freeres_ptr (
static struct netaddr
@ -532,3 +533,4 @@ _res_hconf_trim_domains (struct hostent *hp)
for (i = 0; hp->h_aliases[i]; ++i)
_res_hconf_trim_domain (hp->h_aliases[i]);
}
#endif