Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2svn <>2008-09-05 00:26:21 +0400
committercvs2svn <>2008-09-05 00:26:21 +0400
commit07b4b67a88f386ce4716a14e0ff2c2bce992b985 (patch)
tree2d367e3f5c271ef2cdf093f175039cd701237bc7 /newlib/libc/sys/linux/net/res_hconf.c
parentcfef0dc52cc4eab69ddeab566fa31790a2328b6a (diff)
This commit was manufactured by cvs2svn to create tag 'newlib-1_16_0'.newlib-1_16_0
Sprout from binutils-arc-20080908-branch 2008-09-04 20:26:19 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'binutils-' Cherrypick from master 2007-12-19 22:36:48 UTC Jeff Johnston <jjohnstn@redhat.com> '': ChangeLog MAINTAINERS Makefile.def Makefile.in Makefile.tpl config.guess config.rpath config.sub config/ChangeLog config/acinclude.m4 config/acx.m4 config/confsubdir.m4 config/mh-i370pic config/mh-ia64pic config/mh-mingw config/mh-ppc-darwin config/mh-s390pic config/mh-sparcpic config/mt-mips-elfoabi config/mt-spu config/tls.m4 configure configure.ac libgloss/ChangeLog libgloss/arm/configure libgloss/arm/crt0.S libgloss/arm/redboot-syscalls.c libgloss/bfin/Makefile.in libgloss/bfin/configure libgloss/bfin/syscalls.c libgloss/configure libgloss/cris/configure libgloss/cris/gensyscalls libgloss/crx/configure libgloss/d30v/configure libgloss/doc/configure libgloss/fr30/configure libgloss/fr30/syscalls.c libgloss/frv/configure libgloss/frv/crt0.S libgloss/frv/isatty.c libgloss/hp74x/configure libgloss/i386/configure libgloss/i960/configure libgloss/iq2000/configure libgloss/iq2000/crt0.S libgloss/iq2000/isatty.c libgloss/libnosys/configure libgloss/libnosys/configure.in libgloss/libnosys/isatty.c libgloss/m32c/configure libgloss/m32c/exit.S libgloss/m32r/configure libgloss/m32r/isatty.c libgloss/m68hc11/configure libgloss/m68k/cf-crt1.c libgloss/m68k/configure libgloss/mcore/configure libgloss/mep/configure libgloss/mips/configure libgloss/mn10200/configure libgloss/mn10200/isatty.c libgloss/mn10300/configure libgloss/mn10300/crt0.S libgloss/mn10300/isatty.c libgloss/mt/configure libgloss/pa/configure libgloss/rs6000/configure libgloss/sparc/configure libgloss/sparc/libsys/configure libgloss/spu/Makefile.in libgloss/spu/configure libgloss/spu/readlink.c libgloss/spu/sbrk.c libgloss/spu/syscalls.c libgloss/wince/configure libgloss/xstormy16/configure libtool.m4 ltsugar.m4 newlib/ChangeLog newlib/Makefile.am newlib/Makefile.in newlib/configure.host newlib/libc/argz/argz_count.c newlib/libc/argz/argz_extract.c newlib/libc/argz/argz_stringify.c newlib/libc/ctype/ctype_.c newlib/libc/ctype/isalnum.c newlib/libc/ctype/isalpha.c newlib/libc/ctype/iscntrl.c newlib/libc/ctype/isdigit.c newlib/libc/ctype/islower.c newlib/libc/ctype/isprint.c newlib/libc/ctype/ispunct.c newlib/libc/ctype/isspace.c newlib/libc/ctype/isupper.c newlib/libc/ctype/isxdigit.c newlib/libc/include/_ansi.h newlib/libc/include/_syslist.h newlib/libc/include/assert.h newlib/libc/include/ctype.h newlib/libc/include/getopt.h newlib/libc/include/machine/_default_types.h newlib/libc/include/machine/ieeefp.h newlib/libc/include/machine/setjmp.h newlib/libc/include/math.h newlib/libc/include/reent.h newlib/libc/include/stdint.h newlib/libc/include/stdio.h newlib/libc/include/string.h newlib/libc/include/sys/_default_fcntl.h newlib/libc/include/sys/reent.h newlib/libc/include/sys/stat.h newlib/libc/include/sys/unistd.h newlib/libc/libc.texinfo newlib/libc/machine/arm/setjmp.S newlib/libc/machine/configure newlib/libc/machine/i386/memchr.S newlib/libc/machine/i386/memset.S newlib/libc/machine/i386/strchr.S newlib/libc/machine/i386/strlen.S newlib/libc/machine/m68k/memcpy.S newlib/libc/machine/m68k/memset.S newlib/libc/machine/m68k/setjmp.S newlib/libc/machine/mips/strncpy.c newlib/libc/machine/mn10300/memset.S newlib/libc/machine/powerpc/vfprintf.c newlib/libc/machine/spu/Makefile.am newlib/libc/machine/spu/Makefile.in newlib/libc/machine/spu/fprintf.S newlib/libc/machine/spu/fscanf.S newlib/libc/machine/spu/mk_syscalls newlib/libc/machine/spu/printf.S newlib/libc/machine/spu/scanf.S newlib/libc/machine/spu/setjmp.S newlib/libc/machine/spu/snprintf.S newlib/libc/machine/spu/sprintf.S newlib/libc/machine/spu/sscanf.S newlib/libc/machine/spu/stack_reg_va.S newlib/libc/machine/spu/strcat.c newlib/libc/machine/spu/strcpy.c newlib/libc/machine/spu/strlen.c newlib/libc/machine/spu/strncat.c newlib/libc/machine/spu/strncmp.c newlib/libc/machine/spu/strncpy.c newlib/libc/machine/spu/sys/dirent.h newlib/libc/machine/spu/sys/errno.h newlib/libc/machine/spu/sys/sched.h newlib/libc/machine/spu/sys/syscall.h newlib/libc/posix/Makefile.am newlib/libc/posix/Makefile.in newlib/libc/posix/isatty.c newlib/libc/reent/Makefile.am newlib/libc/reent/Makefile.in newlib/libc/search/hash.h newlib/libc/stdio/Makefile.am newlib/libc/stdio/Makefile.in newlib/libc/stdio/asiprintf.c newlib/libc/stdio/asniprintf.c newlib/libc/stdio/asnprintf.c newlib/libc/stdio/asprintf.c newlib/libc/stdio/dprintf.c newlib/libc/stdio/fflush.c newlib/libc/stdio/freopen.c newlib/libc/stdio/ftell.c newlib/libc/stdio/local.h newlib/libc/stdio/makebuf.c newlib/libc/stdio/rget.c newlib/libc/stdio/siprintf.c newlib/libc/stdio/siscanf.c newlib/libc/stdio/sniprintf.c newlib/libc/stdio/snprintf.c newlib/libc/stdio/sprintf.c newlib/libc/stdio/sscanf.c newlib/libc/stdio/vasiprintf.c newlib/libc/stdio/vasniprintf.c newlib/libc/stdio/vasnprintf.c newlib/libc/stdio/vasprintf.c newlib/libc/stdio/vdiprintf.c newlib/libc/stdio/vdprintf.c newlib/libc/stdio/vfprintf.c newlib/libc/stdio/vfscanf.c newlib/libc/stdio/vsiprintf.c newlib/libc/stdio/vsiscanf.c newlib/libc/stdio/vsniprintf.c newlib/libc/stdio/vsnprintf.c newlib/libc/stdio/vsprintf.c newlib/libc/stdio/vsscanf.c newlib/libc/stdio64/ftello64.c newlib/libc/stdlib/envlock.h newlib/libc/stdlib/gdtoa-hexnan.c newlib/libc/stdlib/getopt.c newlib/libc/stdlib/mprec.h newlib/libc/stdlib/strtod.c newlib/libc/stdlib/wcsrtombs.c newlib/libc/string/Makefile.am newlib/libc/string/Makefile.in newlib/libc/string/memchr.c newlib/libc/string/memset.c newlib/libc/string/strcasestr.c newlib/libc/string/strchr.c newlib/libc/string/strings.tex newlib/libc/string/strlen.c newlib/libc/string/strstr.c newlib/libc/sys/a29khif/_isatty.S newlib/libc/sys/arc/isatty.c newlib/libc/sys/arm/syscalls.c newlib/libc/sys/configure newlib/libc/sys/d10v/syscalls.c newlib/libc/sys/h8300hms/syscalls.c newlib/libc/sys/h8500hms/syscalls.c newlib/libc/sys/linux/Makefile.am newlib/libc/sys/linux/Makefile.in newlib/libc/sys/linux/bits/libc-lock.h newlib/libc/sys/linux/iconv/iconvconfig.c newlib/libc/sys/linux/iconv/strtab.c newlib/libc/sys/linux/include/arpa/nameser.h newlib/libc/sys/linux/include/hesiod.h newlib/libc/sys/linux/include/libc_private.h newlib/libc/sys/linux/include/net/ethernet.h newlib/libc/sys/linux/include/net/if_atm.h newlib/libc/sys/linux/include/net/if_media.h newlib/libc/sys/linux/include/net/if_ppp.h newlib/libc/sys/linux/include/net/if_pppvar.h newlib/libc/sys/linux/include/netdb.h newlib/libc/sys/linux/include/netinet/if_atm.h newlib/libc/sys/linux/include/netinet/if_ether.h newlib/libc/sys/linux/include/netinet/ip_flow.h newlib/libc/sys/linux/include/nsswitch.h newlib/libc/sys/linux/include/resolv.h newlib/libc/sys/linux/include/sched.h newlib/libc/sys/linux/include/stdint.h newlib/libc/sys/linux/intl/locale.alias newlib/libc/sys/linux/libc-symbols.h newlib/libc/sys/linux/machine/i386/get_clockfreq.c newlib/libc/sys/linux/machine/i386/include/endian.h newlib/libc/sys/linux/machine/i386/include/param.h newlib/libc/sys/linux/net/Makefile.am newlib/libc/sys/linux/net/Makefile.in newlib/libc/sys/linux/net/addr2ascii.3 newlib/libc/sys/linux/net/base64.c newlib/libc/sys/linux/net/bindresvport.c newlib/libc/sys/linux/net/byteorder.3 newlib/libc/sys/linux/net/ether_addr.c newlib/libc/sys/linux/net/ethers.3 newlib/libc/sys/linux/net/getaddrinfo.3 newlib/libc/sys/linux/net/getaddrinfo.c newlib/libc/sys/linux/net/gethostbydns.c newlib/libc/sys/linux/net/gethostbyht.c newlib/libc/sys/linux/net/gethostbyname.3 newlib/libc/sys/linux/net/gethostbynis.c newlib/libc/sys/linux/net/gethostnamadr.c newlib/libc/sys/linux/net/getifaddrs.3 newlib/libc/sys/linux/net/getifaddrs.c newlib/libc/sys/linux/net/getipnodebyname.3 newlib/libc/sys/linux/net/getnameinfo.3 newlib/libc/sys/linux/net/getnameinfo.c newlib/libc/sys/linux/net/getnetbydns.c newlib/libc/sys/linux/net/getnetbyht.c newlib/libc/sys/linux/net/getnetbynis.c newlib/libc/sys/linux/net/getnetent.3 newlib/libc/sys/linux/net/getnetnamadr.c newlib/libc/sys/linux/net/getproto.c newlib/libc/sys/linux/net/getprotoent.3 newlib/libc/sys/linux/net/getprotoent.c newlib/libc/sys/linux/net/getprotoname.c newlib/libc/sys/linux/net/getservbyname.c newlib/libc/sys/linux/net/getservbyport.c newlib/libc/sys/linux/net/getservent.3 newlib/libc/sys/linux/net/getservent.c newlib/libc/sys/linux/net/herror.c newlib/libc/sys/linux/net/hesiod.3 newlib/libc/sys/linux/net/hesiod.c newlib/libc/sys/linux/net/if_indextoname.3 newlib/libc/sys/linux/net/inet.3 newlib/libc/sys/linux/net/inet6_option_space.3 newlib/libc/sys/linux/net/inet6_rthdr_space.3 newlib/libc/sys/linux/net/inet_lnaof.c newlib/libc/sys/linux/net/inet_makeaddr.c newlib/libc/sys/linux/net/inet_net.3 newlib/libc/sys/linux/net/inet_netof.c newlib/libc/sys/linux/net/inet_network.c newlib/libc/sys/linux/net/inet_ntoa.c newlib/libc/sys/linux/net/innetgr-stub.c newlib/libc/sys/linux/net/ip6opt.c newlib/libc/sys/linux/net/iso_addr.3 newlib/libc/sys/linux/net/iso_addr.c newlib/libc/sys/linux/net/linkaddr.3 newlib/libc/sys/linux/net/linkaddr.c newlib/libc/sys/linux/net/map_v4v6.c newlib/libc/sys/linux/net/name6.c newlib/libc/sys/linux/net/namespace.h newlib/libc/sys/linux/net/ns.3 newlib/libc/sys/linux/net/ns_addr.c newlib/libc/sys/linux/net/ns_name.c newlib/libc/sys/linux/net/ns_netint.c newlib/libc/sys/linux/net/ns_ntoa.c newlib/libc/sys/linux/net/ns_parse.c newlib/libc/sys/linux/net/ns_print.c newlib/libc/sys/linux/net/ns_ttl.c newlib/libc/sys/linux/net/nsap_addr.c newlib/libc/sys/linux/net/nsdispatch.3 newlib/libc/sys/linux/net/nsdispatch.c newlib/libc/sys/linux/net/nslexer.c newlib/libc/sys/linux/net/nslexer.l newlib/libc/sys/linux/net/nsparser.c newlib/libc/sys/linux/net/nsparser.h newlib/libc/sys/linux/net/nsparser.y newlib/libc/sys/linux/net/rcmd.3 newlib/libc/sys/linux/net/rcmd.c newlib/libc/sys/linux/net/rcmdsh.3 newlib/libc/sys/linux/net/res_comp.c newlib/libc/sys/linux/net/res_config.h newlib/libc/sys/linux/net/res_data.c newlib/libc/sys/linux/net/res_debug.c newlib/libc/sys/linux/net/res_init.c newlib/libc/sys/linux/net/res_mkquery.c newlib/libc/sys/linux/net/res_mkupdate.c newlib/libc/sys/linux/net/res_query.c newlib/libc/sys/linux/net/res_send.c newlib/libc/sys/linux/net/res_update.c newlib/libc/sys/linux/net/resolver.3 newlib/libc/sys/linux/net/rthdr.c newlib/libc/sys/linux/net/send.c newlib/libc/sys/linux/net/vars.c newlib/libc/sys/linux/stdlib/COPYRIGHT newlib/libc/sys/linux/stdlib/Makefile.am newlib/libc/sys/linux/stdlib/Makefile.in newlib/libc/sys/linux/stdlib/cclass.h newlib/libc/sys/linux/stdlib/cname.h newlib/libc/sys/linux/stdlib/collate.c newlib/libc/sys/linux/stdlib/collate.h newlib/libc/sys/linux/stdlib/collcmp.c newlib/libc/sys/linux/stdlib/engine.c newlib/libc/sys/linux/stdlib/fnmatch.3 newlib/libc/sys/linux/stdlib/fnmatch.c newlib/libc/sys/linux/stdlib/glob.3 newlib/libc/sys/linux/stdlib/glob.c newlib/libc/sys/linux/stdlib/reallocf.c newlib/libc/sys/linux/stdlib/regcomp.c newlib/libc/sys/linux/stdlib/regerror.c newlib/libc/sys/linux/stdlib/regex.3 newlib/libc/sys/linux/stdlib/regex2.h newlib/libc/sys/linux/stdlib/regexec.c newlib/libc/sys/linux/stdlib/regfree.c newlib/libc/sys/linux/stdlib/utils.h newlib/libc/sys/linux/stdlib/wordexp.c newlib/libc/sys/linux/stdlib/wordfree.c newlib/libc/sys/linux/sys/ioctl.h newlib/libc/sys/linux/sys/socket.h newlib/libc/sys/linux/sys/types.h newlib/libc/sys/linux/sys/unistd.h newlib/libc/sys/mmixware/isatty.c newlib/libc/sys/sh/syscalls.c newlib/libc/sys/sysnecv850/crt0.S newlib/libc/sys/sysnecv850/isatty.c newlib/libc/syscalls/Makefile.am newlib/libc/syscalls/Makefile.in newlib/libc/syscalls/sysclose.c newlib/libc/syscalls/sysexecve.c newlib/libc/syscalls/sysfcntl.c newlib/libc/syscalls/sysfork.c newlib/libc/syscalls/sysfstat.c newlib/libc/syscalls/sysgetpid.c newlib/libc/syscalls/sysgettod.c newlib/libc/syscalls/syskill.c newlib/libc/syscalls/syslink.c newlib/libc/syscalls/syslseek.c newlib/libc/syscalls/sysopen.c newlib/libc/syscalls/sysread.c newlib/libc/syscalls/syssbrk.c newlib/libc/syscalls/sysstat.c newlib/libc/syscalls/systimes.c newlib/libc/syscalls/sysunlink.c newlib/libc/syscalls/syswait.c newlib/libc/syscalls/syswrite.c newlib/libc/time/mktime.c newlib/libm/libm.texinfo newlib/libm/machine/spu/configure newlib/libm/machine/spu/headers/acosd2.h newlib/libm/machine/spu/headers/acosf4.h newlib/libm/machine/spu/headers/acoshd2.h newlib/libm/machine/spu/headers/acoshf4.h newlib/libm/machine/spu/headers/asind2.h newlib/libm/machine/spu/headers/asinf4.h newlib/libm/machine/spu/headers/asinhd2.h newlib/libm/machine/spu/headers/asinhf4.h newlib/libm/machine/spu/headers/atan2d2.h newlib/libm/machine/spu/headers/atan2f4.h newlib/libm/machine/spu/headers/atand2.h newlib/libm/machine/spu/headers/atanf4.h newlib/libm/machine/spu/headers/atanhd2.h newlib/libm/machine/spu/headers/atanhf4.h newlib/libm/machine/spu/headers/cbrt.h newlib/libm/machine/spu/headers/cbrtf.h newlib/libm/machine/spu/headers/cos_sin.h newlib/libm/machine/spu/headers/cosd2.h newlib/libm/machine/spu/headers/cosf4.h newlib/libm/machine/spu/headers/coshd2.h newlib/libm/machine/spu/headers/coshf4.h newlib/libm/machine/spu/headers/divd2.h newlib/libm/machine/spu/headers/divf4.h newlib/libm/machine/spu/headers/erf_utils.h newlib/libm/machine/spu/headers/erfcd2.h newlib/libm/machine/spu/headers/erfcf4.h newlib/libm/machine/spu/headers/erfd2.h newlib/libm/machine/spu/headers/erff4.h newlib/libm/machine/spu/headers/exp2d2.h newlib/libm/machine/spu/headers/exp2f4.h newlib/libm/machine/spu/headers/expd2.h newlib/libm/machine/spu/headers/expf4.h newlib/libm/machine/spu/headers/expm1d2.h newlib/libm/machine/spu/headers/expm1f4.h newlib/libm/machine/spu/headers/floord2.h newlib/libm/machine/spu/headers/floorf4.h newlib/libm/machine/spu/headers/hypotd2.h newlib/libm/machine/spu/headers/hypotf4.h newlib/libm/machine/spu/headers/isnand2.h newlib/libm/machine/spu/headers/isnanf4.h newlib/libm/machine/spu/headers/ldexpd2.h newlib/libm/machine/spu/headers/ldexpf4.h newlib/libm/machine/spu/headers/lgammad2.h newlib/libm/machine/spu/headers/lgammaf4.h newlib/libm/machine/spu/headers/log10d2.h newlib/libm/machine/spu/headers/log1pd2.h newlib/libm/machine/spu/headers/log1pf4.h newlib/libm/machine/spu/headers/log2d2.h newlib/libm/machine/spu/headers/log2f4.h newlib/libm/machine/spu/headers/logbf4.h newlib/libm/machine/spu/headers/logd2.h newlib/libm/machine/spu/headers/logf4.h newlib/libm/machine/spu/headers/nearbyintf4.h newlib/libm/machine/spu/headers/nextafterd2.h newlib/libm/machine/spu/headers/nextafterf4.h newlib/libm/machine/spu/headers/powd2.h newlib/libm/machine/spu/headers/powf4.h newlib/libm/machine/spu/headers/recipd2.h newlib/libm/machine/spu/headers/recipf4.h newlib/libm/machine/spu/headers/rintf4.h newlib/libm/machine/spu/headers/scalbnf4.h newlib/libm/machine/spu/headers/signbitd2.h newlib/libm/machine/spu/headers/simdmath.h newlib/libm/machine/spu/headers/sincosd2.h newlib/libm/machine/spu/headers/sincosf4.h newlib/libm/machine/spu/headers/sind2.h newlib/libm/machine/spu/headers/sinf4.h newlib/libm/machine/spu/headers/sinhd2.h newlib/libm/machine/spu/headers/sinhf4.h newlib/libm/machine/spu/headers/sqrtd2.h newlib/libm/machine/spu/headers/sqrtf4.h newlib/libm/machine/spu/headers/tand2.h newlib/libm/machine/spu/headers/tanf4.h newlib/libm/machine/spu/headers/tanhd2.h newlib/libm/machine/spu/headers/tanhf4.h newlib/libm/machine/spu/headers/tgammad2.h newlib/libm/machine/spu/headers/tgammaf4.h newlib/libm/machine/spu/headers/truncd2.h newlib/libm/machine/spu/headers/truncf4.h src-release Cherrypick from cygnus 1999-05-03 07:29:06 UTC Richard Henderson <rth@redhat.com> '19990502 sourceware import': config/mh-armpic config/mh-elfalphapic config/mh-m68kpic config/mh-papic config/mh-ppcpic config/mh-x86pic Delete: config/extensions.m4 config/futex.m4 config/mh-pa config/mh-pa-hpux10 config/mt-mips-gnu config/mt-mips16-compat config/override.m4 config/proginstall.m4 config/tcl.m4 libgloss/bfin/basiccrt.S libgloss/bfin/bf522.ld libgloss/bfin/bf523.ld libgloss/bfin/bf524.ld libgloss/bfin/bf525.ld libgloss/bfin/bf526.ld libgloss/bfin/bf527.ld libgloss/bfin/bf531.ld libgloss/bfin/bf532.ld libgloss/bfin/bf533.ld libgloss/bfin/bf534.ld libgloss/bfin/bf536.ld libgloss/bfin/bf537.ld libgloss/bfin/bf538.ld libgloss/bfin/bf539.ld libgloss/bfin/bf542.ld libgloss/bfin/bf544.ld libgloss/bfin/bf547.ld libgloss/bfin/bf548.ld libgloss/bfin/bf549.ld libgloss/bfin/bf561.ld libgloss/bfin/bf561a.ld libgloss/bfin/bf561b.ld libgloss/bfin/bf561m.ld libgloss/bfin/bfin-common-mc.ld libgloss/bfin/bfin-common-sc.ld libgloss/bfin/include/blackfin.h libgloss/bfin/include/cdefBF522.h libgloss/bfin/include/cdefBF525.h libgloss/bfin/include/cdefBF527.h libgloss/bfin/include/cdefBF52x_base.h libgloss/bfin/include/cdefBF531.h libgloss/bfin/include/cdefBF532.h libgloss/bfin/include/cdefBF533.h libgloss/bfin/include/cdefBF534.h libgloss/bfin/include/cdefBF535.h libgloss/bfin/include/cdefBF536.h libgloss/bfin/include/cdefBF537.h libgloss/bfin/include/cdefBF538.h libgloss/bfin/include/cdefBF539.h libgloss/bfin/include/cdefBF53x.h libgloss/bfin/include/cdefBF541.h libgloss/bfin/include/cdefBF542.h libgloss/bfin/include/cdefBF544.h libgloss/bfin/include/cdefBF547.h libgloss/bfin/include/cdefBF548.h libgloss/bfin/include/cdefBF549.h libgloss/bfin/include/cdefBF54x_base.h libgloss/bfin/include/cdefBF561.h libgloss/bfin/include/cdef_LPBlackfin.h libgloss/bfin/include/cdefblackfin.h libgloss/bfin/include/cplb.h libgloss/bfin/include/cplbtab.h libgloss/bfin/include/defBF522.h libgloss/bfin/include/defBF525.h libgloss/bfin/include/defBF527.h libgloss/bfin/include/defBF52x_base.h libgloss/bfin/include/defBF531.h libgloss/bfin/include/defBF532.h libgloss/bfin/include/defBF533.h libgloss/bfin/include/defBF534.h libgloss/bfin/include/defBF535.h libgloss/bfin/include/defBF536.h libgloss/bfin/include/defBF537.h libgloss/bfin/include/defBF538.h libgloss/bfin/include/defBF539.h libgloss/bfin/include/defBF541.h libgloss/bfin/include/defBF542.h libgloss/bfin/include/defBF544.h libgloss/bfin/include/defBF547.h libgloss/bfin/include/defBF548.h libgloss/bfin/include/defBF549.h libgloss/bfin/include/defBF54x_base.h libgloss/bfin/include/defBF561.h libgloss/bfin/include/def_LPBlackfin.h libgloss/bfin/include/defblackfin.h libgloss/bfin/include/sys/_adi_platform.h libgloss/bfin/include/sys/anomaly_macros_rtl.h libgloss/bfin/include/sys/excause.h libgloss/bfin/include/sys/exception.h libgloss/bfin/include/sys/mc_typedef.h libgloss/bfin/include/sys/platform.h libgloss/bfin/include/sys/pll.h libgloss/bfin/include/sysreg.h libgloss/spu/linux_syscalls.c libgloss/xstormy16/isatty.c newlib/libc/machine/m68k/m68kasm.h newlib/libc/machine/spu/assert.c newlib/libc/machine/spu/impure.c newlib/libc/machine/spu/include/spu_timer.h newlib/libc/machine/spu/memcmp.c newlib/libc/machine/spu/spu_clock_stop.c newlib/libc/machine/spu/spu_clock_svcs.c newlib/libc/machine/spu/spu_timebase.c newlib/libc/machine/spu/spu_timer_flih.S newlib/libc/machine/spu/spu_timer_free.c newlib/libc/machine/spu/spu_timer_internal.h newlib/libc/machine/spu/spu_timer_slih.c newlib/libc/machine/spu/spu_timer_slih_reg.c newlib/libc/machine/spu/spu_timer_stop.c newlib/libc/machine/spu/spu_timer_svcs.c newlib/libc/machine/spu/straddr.h newlib/libc/machine/spu/strcpy.h newlib/libc/machine/spu/strncmp.h newlib/libc/machine/spu/sys/linux_syscalls.h newlib/libc/posix/_isatty.c newlib/libc/reent/isattyr.c newlib/libc/string/memmem.c newlib/libc/string/str-two-way.h newlib/libc/sys/linux/isatty.c newlib/libc/sys/linux/machine/i386/atomic.h newlib/libc/sys/linux/net/XXX-lookup.c newlib/libc/sys/linux/net/alias-lookup.c newlib/libc/sys/linux/net/aliases.h newlib/libc/sys/linux/net/check_pf.c newlib/libc/sys/linux/net/databases.def newlib/libc/sys/linux/net/digits_dots.c newlib/libc/sys/linux/net/ether_aton.c newlib/libc/sys/linux/net/ether_aton_r.c newlib/libc/sys/linux/net/ether_hton.c newlib/libc/sys/linux/net/ether_line.c newlib/libc/sys/linux/net/ether_ntoa.c newlib/libc/sys/linux/net/ether_ntoa_r.c newlib/libc/sys/linux/net/ether_ntoh.c newlib/libc/sys/linux/net/etherent.h newlib/libc/sys/linux/net/ethers-lookup.c newlib/libc/sys/linux/net/function.def newlib/libc/sys/linux/net/getXXbyYY.c newlib/libc/sys/linux/net/getXXbyYY_r.c newlib/libc/sys/linux/net/getXXent.c newlib/libc/sys/linux/net/getXXent_r.c newlib/libc/sys/linux/net/getaliasent.c newlib/libc/sys/linux/net/getaliasent_r.c newlib/libc/sys/linux/net/getaliasname.c newlib/libc/sys/linux/net/getaliasname_r.c newlib/libc/sys/linux/net/gethstbyad.c newlib/libc/sys/linux/net/gethstbyad_r.c newlib/libc/sys/linux/net/gethstbynm.c newlib/libc/sys/linux/net/gethstbynm2.c newlib/libc/sys/linux/net/gethstbynm2_r.c newlib/libc/sys/linux/net/gethstbynm_r.c newlib/libc/sys/linux/net/gethstent.c newlib/libc/sys/linux/net/gethstent_r.c newlib/libc/sys/linux/net/getnetbyad.c newlib/libc/sys/linux/net/getnetbyad_r.c newlib/libc/sys/linux/net/getnetbynm.c newlib/libc/sys/linux/net/getnetbynm_r.c newlib/libc/sys/linux/net/getnetent.c newlib/libc/sys/linux/net/getnetent_r.c newlib/libc/sys/linux/net/getnetgrent.c newlib/libc/sys/linux/net/getnetgrent_r.c newlib/libc/sys/linux/net/getnssent.c newlib/libc/sys/linux/net/getnssent_r.c newlib/libc/sys/linux/net/getproto_r.c newlib/libc/sys/linux/net/getprtent.c newlib/libc/sys/linux/net/getprtent_r.c newlib/libc/sys/linux/net/getprtname.c newlib/libc/sys/linux/net/getprtname_r.c newlib/libc/sys/linux/net/getrpcbyname.c newlib/libc/sys/linux/net/getrpcbyname_r.c newlib/libc/sys/linux/net/getrpcbynumber.c newlib/libc/sys/linux/net/getrpcbynumber_r.c newlib/libc/sys/linux/net/getrpcent.c newlib/libc/sys/linux/net/getrpcent_r.c newlib/libc/sys/linux/net/getservent_r.c newlib/libc/sys/linux/net/getsrvbynm.c newlib/libc/sys/linux/net/getsrvbynm_r.c newlib/libc/sys/linux/net/getsrvbypt.c newlib/libc/sys/linux/net/getsrvbypt_r.c newlib/libc/sys/linux/net/grp-lookup.c newlib/libc/sys/linux/net/herrno.c newlib/libc/sys/linux/net/hosts-lookup.c newlib/libc/sys/linux/net/ifaddrs.h newlib/libc/sys/linux/net/ifreq.c newlib/libc/sys/linux/net/ifreq.h newlib/libc/sys/linux/net/in6_addr.c newlib/libc/sys/linux/net/inet6_option.c newlib/libc/sys/linux/net/inet_mkadr.c newlib/libc/sys/linux/net/inet_net.c newlib/libc/sys/linux/net/key-lookup.c newlib/libc/sys/linux/net/local.h newlib/libc/sys/linux/net/netgroup.h newlib/libc/sys/linux/net/netgrp-lookup.c newlib/libc/sys/linux/net/network-lookup.c newlib/libc/sys/linux/net/not-cancel.h newlib/libc/sys/linux/net/ns_samedomain.c newlib/libc/sys/linux/net/nscd-types.h newlib/libc/sys/linux/net/nscd/nscd-client.h newlib/libc/sys/linux/net/nscd/nscd_proto.h newlib/libc/sys/linux/net/nss.h newlib/libc/sys/linux/net/nsswitch.c newlib/libc/sys/linux/net/nsswitch.h newlib/libc/sys/linux/net/opensock.c newlib/libc/sys/linux/net/proto-lookup.c newlib/libc/sys/linux/net/pwd-lookup.c newlib/libc/sys/linux/net/res_debug.h newlib/libc/sys/linux/net/res_hconf.c newlib/libc/sys/linux/net/res_hconf.h newlib/libc/sys/linux/net/res_libc.c newlib/libc/sys/linux/net/rexec.c newlib/libc/sys/linux/net/rpc-lookup.c newlib/libc/sys/linux/net/ruserpass.c newlib/libc/sys/linux/net/service-lookup.c newlib/libc/sys/linux/net/spwd-lookup.c newlib/libc/sys/linux/shlib-compat.h newlib/libc/syscalls/sysisatty.c newlib/testsuite/newlib.stdlib/size_max.c newlib/testsuite/newlib.stdlib/stdlib.exp
Diffstat (limited to 'newlib/libc/sys/linux/net/res_hconf.c')
-rw-r--r--newlib/libc/sys/linux/net/res_hconf.c676
1 files changed, 0 insertions, 676 deletions
diff --git a/newlib/libc/sys/linux/net/res_hconf.c b/newlib/libc/sys/linux/net/res_hconf.c
deleted file mode 100644
index ad1594040..000000000
--- a/newlib/libc/sys/linux/net/res_hconf.c
+++ /dev/null
@@ -1,676 +0,0 @@
-/* Copyright (C) 1993, 1995-2003, 2004 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger (davidm@azstarnet.com).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* This file provides a Linux /etc/host.conf compatible front end to
- the various name resolvers (/etc/hosts, named, NIS server, etc.).
- Though mostly compatibly, the following differences exist compared
- to the original implementation:
-
- - new command "spoof" takes an arguments like RESOLV_SPOOF_CHECK
- environment variable (i.e., `off', `nowarn', or `warn').
-
- - line comments can appear anywhere (not just at the beginning of
- a line)
-*/
-
-#include <assert.h>
-#include <errno.h>
-#include <ctype.h>
-#include <libintl.h>
-#include <memory.h>
-#include <stdio.h>
-#include <stdio_ext.h>
-#include <stdlib.h>
-#include <string.h>
-#include <net/if.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <netinet/in.h>
-#define _IO_MTSAFE_IO
-#include <bits/libc-lock.h>
-#include "ifreq.h"
-#include "res_hconf.h"
-#include "local.h"
-#ifdef USE_IN_LIBIO
-# include <wchar.h>
-#endif
-
-#define _PATH_HOSTCONF "/etc/host.conf"
-
-/* Environment vars that all user to override default behavior: */
-#define ENV_HOSTCONF "RESOLV_HOST_CONF"
-#define ENV_SERVORDER "RESOLV_SERV_ORDER"
-#define ENV_SPOOF "RESOLV_SPOOF_CHECK"
-#define ENV_TRIM_OVERR "RESOLV_OVERRIDE_TRIM_DOMAINS"
-#define ENV_TRIM_ADD "RESOLV_ADD_TRIM_DOMAINS"
-#define ENV_MULTI "RESOLV_MULTI"
-#define ENV_REORDER "RESOLV_REORDER"
-
-static const char *arg_service_list (const char *, int, const char *,
- unsigned int);
-static const char *arg_trimdomain_list (const char *, int, const char *,
- unsigned int);
-static const char *arg_spoof (const char *, int, const char *, unsigned int);
-static const char *arg_bool (const char *, int, const char *, unsigned int);
-
-static struct cmd
-{
- const char *name;
- const char *(*parse_args) (const char * filename, int line_num,
- const char * args, unsigned int arg);
- unsigned int arg;
-} cmd[] =
-{
- {"order", arg_service_list, 0},
- {"trim", arg_trimdomain_list, 0},
- {"spoof", arg_spoof, 0},
- {"multi", arg_bool, HCONF_FLAG_MULTI},
- {"nospoof", arg_bool, HCONF_FLAG_SPOOF},
- {"spoofalert", arg_bool, HCONF_FLAG_SPOOFALERT},
- {"reorder", arg_bool, HCONF_FLAG_REORDER}
-};
-
-/* Structure containing the state. */
-struct hconf _res_hconf;
-
-/* Skip white space. */
-static const char *
-skip_ws (const char *str)
-{
- while (isspace (*str)) ++str;
- return str;
-}
-
-
-/* Skip until whitespace, comma, end of line, or comment character. */
-static const char *
-skip_string (const char *str)
-{
- while (*str && !isspace (*str) && *str != '#' && *str != ',')
- ++str;
- return str;
-}
-
-
-static const char *
-arg_service_list (const char *fname, int line_num, const char *args,
- unsigned int arg)
-{
- enum Name_Service service;
- const char *start;
- size_t len;
- size_t i;
- static struct
- {
- const char * name;
- enum Name_Service service;
- } svcs[] =
- {
- {"bind", SERVICE_BIND},
- {"hosts", SERVICE_HOSTS},
- {"nis", SERVICE_NIS},
- };
-
- do
- {
- start = args;
- args = skip_string (args);
- len = args - start;
-
- service = SERVICE_NONE;
- for (i = 0; i < sizeof (svcs) / sizeof (svcs[0]); ++i)
- {
- if (strncasecmp (start, svcs[i].name, len) == 0
- && len == strlen (svcs[i].name))
- {
- service = svcs[i].service;
- break;
- }
- }
- if (service == SERVICE_NONE)
- {
- char *buf;
-
- if (asprintf (&buf,
- _("%s: line %d: expected service, found `%s'\n"),
- fname, line_num, start) < 0)
- return 0;
-
-#ifdef USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
-#endif
- fputs (buf, stderr);
-
- free (buf);
- return 0;
- }
- if (_res_hconf.num_services >= SERVICE_MAX)
- {
- char *buf;
-
- if (asprintf (&buf, _("\
-%s: line %d: cannot specify more than %d services"),
- fname, line_num, SERVICE_MAX) < 0)
- return 0;
-
-#ifdef USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
-#endif
- fputs (buf, stderr);
-
- free (buf);
- return 0;
- }
- _res_hconf.service[_res_hconf.num_services++] = service;
-
- args = skip_ws (args);
- switch (*args)
- {
- case ',':
- case ';':
- case ':':
- args = skip_ws (++args);
- if (!*args || *args == '#')
- {
- char *buf;
-
- if (asprintf (&buf, _("\
-%s: line %d: list delimiter not followed by keyword"),
- fname, line_num) < 0)
- return 0;
-
-#ifdef USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
-#endif
- fputs (buf, stderr);
-
- free (buf);
- return 0;
- }
- default:
- break;
- }
- }
- while (*args && *args != '#');
- return args;
-}
-
-
-static const char *
-arg_trimdomain_list (const char *fname, int line_num, const char *args,
- unsigned int flag)
-{
- const char * start;
- size_t len;
-
- do
- {
- start = args;
- args = skip_string (args);
- len = args - start;
-
- if (_res_hconf.num_trimdomains >= TRIMDOMAINS_MAX)
- {
- char *buf;
-
- if (asprintf (&buf, _("\
-%s: line %d: cannot specify more than %d trim domains"),
- fname, line_num, TRIMDOMAINS_MAX) < 0)
- return 0;
-
-#ifdef USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
-#endif
- fputs (buf, stderr);
-
- free (buf);
- return 0;
- }
- _res_hconf.trimdomain[_res_hconf.num_trimdomains++] =
- strndup (start, len);
- args = skip_ws (args);
- switch (*args)
- {
- case ',': case ';': case ':':
- args = skip_ws (++args);
- if (!*args || *args == '#')
- {
- char *buf;
-
- if (asprintf (&buf, _("\
-%s: line %d: list delimiter not followed by domain"),
- fname, line_num) < 0)
- return 0;
-
-#ifdef USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
-#endif
- fputs (buf, stderr);
-
- free (buf);
- return 0;
- }
- default:
- break;
- }
- }
- while (*args && *args != '#');
- return args;
-}
-
-
-static const char *
-arg_spoof (const char *fname, int line_num, const char *args, unsigned flag)
-{
- const char *start = args;
- size_t len;
-
- args = skip_string (args);
- len = args - start;
-
- if (len == 3 && strncasecmp (start, "off", len) == 0)
- _res_hconf.flags &= ~(HCONF_FLAG_SPOOF | HCONF_FLAG_SPOOFALERT);
- else
- {
- _res_hconf.flags |= (HCONF_FLAG_SPOOF | HCONF_FLAG_SPOOFALERT);
- if ((len == 6 && strncasecmp (start, "nowarn", len) == 0)
- || !(len == 4 && strncasecmp (start, "warn", len) == 0))
- _res_hconf.flags &= ~HCONF_FLAG_SPOOFALERT;
- }
- return args;
-}
-
-
-static const char *
-arg_bool (const char *fname, int line_num, const char *args, unsigned flag)
-{
- if (strncasecmp (args, "on", 2) == 0)
- {
- args += 2;
- _res_hconf.flags |= flag;
- }
- else if (strncasecmp (args, "off", 3) == 0)
- {
- args += 3;
- _res_hconf.flags &= ~flag;
- }
- else
- {
- char *buf;
-
- if (asprintf (&buf,
- _("%s: line %d: expected `on' or `off', found `%s'\n"),
- fname, line_num, args) < 0)
- return 0;
-
-#ifdef USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
-#endif
- fputs (buf, stderr);
-
- free (buf);
- return 0;
- }
- return args;
-}
-
-
-static void
-parse_line (const char *fname, int line_num, const char *str)
-{
- const char *start;
- struct cmd *c = 0;
- size_t len;
- size_t i;
-
- str = skip_ws (str);
-
- /* skip line comment and empty lines: */
- if (*str == '\0' || *str == '#') return;
-
- start = str;
- str = skip_string (str);
- len = str - start;
-
- for (i = 0; i < sizeof (cmd) / sizeof (cmd[0]); ++i)
- {
- if (strncasecmp (start, cmd[i].name, len) == 0
- && strlen (cmd[i].name) == len)
- {
- c = &cmd[i];
- break;
- }
- }
- if (c == NULL)
- {
- char *buf;
-
- if (asprintf (&buf, _("%s: line %d: bad command `%s'\n"),
- fname, line_num, start) < 0)
- return;
-
-#ifdef USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
-#endif
- fputs (buf, stderr);
-
- free (buf);
- return;
- }
-
- /* process args: */
- str = skip_ws (str);
- str = (*c->parse_args) (fname, line_num, str, c->arg);
- if (!str)
- return;
-
- /* rest of line must contain white space or comment only: */
- while (*str)
- {
- if (!isspace (*str)) {
- if (*str != '#')
- {
- char *buf;
-
- if (asprintf (&buf,
- _("%s: line %d: ignoring trailing garbage `%s'\n"),
- fname, line_num, str) < 0)
- break;
-
-#ifdef USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
-#endif
- fputs (buf, stderr);
-
- free (buf);
- }
- break;
- }
- ++str;
- }
-}
-
-
-static void
-do_init (void)
-{
- const char *hconf_name;
- int line_num = 0;
- char buf[256], *envval;
- FILE *fp;
-
- memset (&_res_hconf, '\0', sizeof (_res_hconf));
-
- hconf_name = getenv (ENV_HOSTCONF);
- if (hconf_name == NULL)
- hconf_name = _PATH_HOSTCONF;
-
- fp = fopen (hconf_name, "rc");
- if (!fp)
- /* make up something reasonable: */
- _res_hconf.service[_res_hconf.num_services++] = SERVICE_BIND;
- else
- {
- /* No threads using this stream. */
- __fsetlocking (fp, FSETLOCKING_BYCALLER);
-
- while (fgets (buf, sizeof (buf), fp))
- {
- char *tmp;
- ++line_num;
- tmp = strchr (buf, '\n');
- if (tmp != NULL)
- *tmp = '\0';
- parse_line (hconf_name, line_num, buf);
- }
- fclose (fp);
- }
-
- envval = getenv (ENV_SERVORDER);
- if (envval)
- {
- _res_hconf.num_services = 0;
- arg_service_list (ENV_SERVORDER, 1, envval, 0);
- }
-
- envval = getenv (ENV_SPOOF);
- if (envval)
- arg_spoof (ENV_SPOOF, 1, envval, 0);
-
- envval = getenv (ENV_MULTI);
- if (envval)
- arg_bool (ENV_MULTI, 1, envval, HCONF_FLAG_MULTI);
-
- envval = getenv (ENV_REORDER);
- if (envval)
- arg_bool (ENV_REORDER, 1, envval, HCONF_FLAG_REORDER);
-
- envval = getenv (ENV_TRIM_ADD);
- if (envval)
- arg_trimdomain_list (ENV_TRIM_ADD, 1, envval, 0);
-
- envval = getenv (ENV_TRIM_OVERR);
- if (envval)
- {
- _res_hconf.num_trimdomains = 0;
- arg_trimdomain_list (ENV_TRIM_OVERR, 1, envval, 0);
- }
-
- _res_hconf.initialized = 1;
-}
-
-
-/* Initialize hconf datastructure by reading host.conf file and
- environment variables. */
-void
-_res_hconf_init (void)
-{
- __libc_once_define (static, once);
-
- __libc_once (once, do_init);
-}
-
-
-/* List of known interfaces. */
-libc_freeres_ptr (
-static struct netaddr
-{
- int addrtype;
- union
- {
- struct
- {
- u_int32_t addr;
- u_int32_t mask;
- } ipv4;
- } u;
-} *ifaddrs);
-
-/* We need to protect the dynamic buffer handling. */
-__libc_lock_define_initialized (static, lock);
-
-/* Reorder addresses returned in a hostent such that the first address
- is an address on the local subnet, if there is such an address.
- Otherwise, nothing is changed.
-
- Note that this function currently only handles IPv4 addresses. */
-
-void
-_res_hconf_reorder_addrs (struct hostent *hp)
-{
-#if defined SIOCGIFCONF && defined SIOCGIFNETMASK
- int i, j;
- /* Number of interfaces. */
- static int num_ifs = -1;
-
- /* Only reorder if we're supposed to. */
- if ((_res_hconf.flags & HCONF_FLAG_REORDER) == 0)
- return;
-
- /* Can't deal with anything but IPv4 for now... */
- if (hp->h_addrtype != AF_INET)
- return;
-
- if (num_ifs <= 0)
- {
- struct ifreq *ifr, *cur_ifr;
- int sd, num, i;
- /* Save errno. */
- int save = errno;
-
- /* Initialize interface table. */
-
- num_ifs = 0;
-
- /* The SIOCGIFNETMASK ioctl will only work on an AF_INET socket. */
- sd = socket (AF_INET, SOCK_DGRAM, 0);
- if (sd < 0)
- return;
-
- /* Get lock. */
- __libc_lock_lock (lock);
-
- /* Get a list of interfaces. */
- __ifreq (&ifr, &num, sd);
- if (!ifr)
- goto cleanup;
-
- ifaddrs = malloc (num * sizeof (ifaddrs[0]));
- if (!ifaddrs)
- goto cleanup1;
-
- /* Copy usable interfaces in ifaddrs structure. */
- for (cur_ifr = ifr, i = 0; i < num; cur_ifr = __if_nextreq (cur_ifr), ++i)
- {
- if (cur_ifr->ifr_addr.sa_family != AF_INET)
- continue;
-
- ifaddrs[num_ifs].addrtype = AF_INET;
- ifaddrs[num_ifs].u.ipv4.addr =
- ((struct sockaddr_in *) &cur_ifr->ifr_addr)->sin_addr.s_addr;
-
- if (ioctl (sd, SIOCGIFNETMASK, cur_ifr) < 0)
- continue;
-
- ifaddrs[num_ifs].u.ipv4.mask =
- ((struct sockaddr_in *) &cur_ifr->ifr_netmask)->sin_addr.s_addr;
-
- /* Now we're committed to this entry. */
- ++num_ifs;
- }
- /* Just keep enough memory to hold all the interfaces we want. */
- ifaddrs = realloc (ifaddrs, num_ifs * sizeof (ifaddrs[0]));
- assert (ifaddrs != NULL);
-
- cleanup1:
- __if_freereq (ifr, num);
-
- cleanup:
- /* Release lock, preserve error value, and close socket. */
- save = errno;
- __libc_lock_unlock (lock);
- close (sd);
- }
-
- if (num_ifs == 0)
- return;
-
- /* Find an address for which we have a direct connection. */
- for (i = 0; hp->h_addr_list[i]; ++i)
- {
- struct in_addr *haddr = (struct in_addr *) hp->h_addr_list[i];
-
- for (j = 0; j < num_ifs; ++j)
- {
- u_int32_t if_addr = ifaddrs[j].u.ipv4.addr;
- u_int32_t if_netmask = ifaddrs[j].u.ipv4.mask;
-
- if (((haddr->s_addr ^ if_addr) & if_netmask) == 0)
- {
- void *tmp;
-
- tmp = hp->h_addr_list[i];
- hp->h_addr_list[i] = hp->h_addr_list[0];
- hp->h_addr_list[0] = tmp;
- return;
- }
- }
- }
-#endif /* defined(SIOCGIFCONF) && ... */
-}
-
-
-/* If HOSTNAME has a postfix matching any of the trimdomains, trim away
- that postfix. Notice that HOSTNAME is modified inplace. Also, the
- original code applied all trimdomains in order, meaning that the
- same domainname could be trimmed multiple times. I believe this
- was unintentional. */
-void
-_res_hconf_trim_domain (char *hostname)
-{
- size_t hostname_len, trim_len;
- int i;
-
- hostname_len = strlen (hostname);
-
- for (i = 0; i < _res_hconf.num_trimdomains; ++i)
- {
- const char *trim = _res_hconf.trimdomain[i];
-
- trim_len = strlen (trim);
- if (hostname_len > trim_len
- && strcasecmp (&hostname[hostname_len - trim_len], trim) == 0)
- {
- hostname[hostname_len - trim_len] = '\0';
- break;
- }
- }
-}
-
-
-/* Trim all hostnames/aliases in HP according to the trimdomain list.
- Notice that HP is modified inplace! */
-void
-_res_hconf_trim_domains (struct hostent *hp)
-{
- int i;
-
- if (_res_hconf.num_trimdomains == 0)
- return;
-
- _res_hconf_trim_domain (hp->h_name);
- for (i = 0; hp->h_aliases[i]; ++i)
- _res_hconf_trim_domain (hp->h_aliases[i]);
-}