diff options
author | cvs2svn <> | 2008-09-05 00:26:21 +0400 |
---|---|---|
committer | cvs2svn <> | 2008-09-05 00:26:21 +0400 |
commit | 07b4b67a88f386ce4716a14e0ff2c2bce992b985 (patch) | |
tree | 2d367e3f5c271ef2cdf093f175039cd701237bc7 /newlib/libc/sys/linux/net/ns_name.c | |
parent | cfef0dc52cc4eab69ddeab566fa31790a2328b6a (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/ns_name.c')
-rw-r--r-- | newlib/libc/sys/linux/net/ns_name.c | 320 |
1 files changed, 82 insertions, 238 deletions
diff --git a/newlib/libc/sys/linux/net/ns_name.c b/newlib/libc/sys/linux/net/ns_name.c index d6c4cc8b5..609df14f5 100644 --- a/newlib/libc/sys/linux/net/ns_name.c +++ b/newlib/libc/sys/linux/net/ns_name.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996,1999 by Internet Software Consortium. + * Copyright (c) 1996 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -15,25 +15,21 @@ * SOFTWARE. */ -#if !defined(_LIBC) && !defined(lint) -static const char rcsid[] = "$BINDId: ns_name.c,v 8.15 2000/03/30 22:53:46 vixie Exp $"; -#endif +#include <sys/cdefs.h> +#include <sys/types.h> #include <sys/types.h> #include <netinet/in.h> #include <arpa/nameser.h> -#include <ctype.h> #include <errno.h> #include <resolv.h> #include <string.h> -#include <ctype.h> -#include "libc-symbols.h" /* Data. */ -static const char digits[] = "0123456789"; +static char digits[] = "0123456789"; /* Forward. */ @@ -66,57 +62,34 @@ ns_name_ntop(const u_char *src, char *dst, size_t dstsiz) { eom = dst + dstsiz; while ((n = *cp++) != 0) { - if ((n & NS_CMPRSFLGS) != 0 && n != 0x41) { + if ((n & NS_CMPRSFLGS) != 0) { /* Some kind of compression pointer. */ - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } if (dn != dst) { if (dn >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *dn++ = '.'; } - - if (n == 0x41) { - n = *cp++ / 8; - if (dn + n * 2 + 4 >= eom) { - __set_errno (EMSGSIZE); - return (-1); - } - *dn++ = '\\'; - *dn++ = '['; - *dn++ = 'x'; - - while (n-- > 0) { - c = *cp++; - unsigned u = c >> 4; - *dn++ = u > 9 ? 'a' + u - 10 : '0' + u; - u = c & 0xf; - *dn++ = u > 9 ? 'a' + u - 10 : '0' + u; - } - - *dn++ = ']'; - continue; - } - if (dn + n >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } for ((void)NULL; n > 0; n--) { c = *cp++; if (special(c)) { if (dn + 1 >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *dn++ = '\\'; *dn++ = (char)c; } else if (!printable(c)) { if (dn + 3 >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *dn++ = '\\'; @@ -125,7 +98,7 @@ ns_name_ntop(const u_char *src, char *dst, size_t dstsiz) { *dn++ = digits[c % 10]; } else { if (dn >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *dn++ = (char)c; @@ -134,19 +107,18 @@ ns_name_ntop(const u_char *src, char *dst, size_t dstsiz) { } if (dn == dst) { if (dn >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *dn++ = '.'; } if (dn >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *dn++ = '\0'; return (dn - dst); } -libresolv_hidden_def (ns_name_ntop) /* * ns_name_pton(src, dst, dstsiz) @@ -176,56 +148,21 @@ ns_name_pton(const char *src, u_char *dst, size_t dstsiz) { n = (cp - digits) * 100; if ((c = *src++) == 0 || (cp = strchr(digits, c)) == NULL) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } n += (cp - digits) * 10; if ((c = *src++) == 0 || (cp = strchr(digits, c)) == NULL) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } n += (cp - digits); if (n > 255) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } c = n; - } else if (c == '[' && label == bp - 1 && *src == 'x') { - /* Theoretically we would have to handle \[o - as well but we do not since we do not need - it internally. */ - *label = 0x41; - label = bp++; - ++src; - while (isxdigit (*src)) { - n = *src > '9' ? *src - 'a' + 10 : *src - '0'; - ++src; - if (! isxdigit(*src)) { - __set_errno (EMSGSIZE); - return (-1); - } - n <<= 4; - n += *src > '9' ? *src - 'a' + 10 : *src - '0'; - if (bp + 1 >= eom) { - __set_errno (EMSGSIZE); - return (-1); - } - *bp++ = n; - ++src; - } - *label = (bp - label - 1) * 8; - if (*src++ != ']' || *src++ != '.') { - __set_errno (EMSGSIZE); - return (-1); - } - escaped = 0; - label = bp++; - if (bp >= eom) { - __set_errno (EMSGSIZE); - return (-1); - } - continue; } escaped = 0; } else if (c == '\\') { @@ -234,11 +171,11 @@ ns_name_pton(const char *src, u_char *dst, size_t dstsiz) { } else if (c == '.') { c = (bp - label - 1); if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */ - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } if (label >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *label = c; @@ -246,98 +183,55 @@ ns_name_pton(const char *src, u_char *dst, size_t dstsiz) { if (*src == '\0') { if (c != 0) { if (bp >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *bp++ = '\0'; } if ((bp - dst) > MAXCDNAME) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } return (1); } - if (c == 0 || *src == '.') { - __set_errno (EMSGSIZE); + if (c == 0) { + errno = EMSGSIZE; return (-1); } label = bp++; continue; } if (bp >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *bp++ = (u_char)c; } c = (bp - label - 1); if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */ - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } if (label >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *label = c; if (c != 0) { if (bp >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *bp++ = 0; } if ((bp - dst) > MAXCDNAME) { /* src too big */ - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } return (0); } /* - * ns_name_ntol(src, dst, dstsiz) - * Convert a network strings labels into all lowercase. - * return: - * Number of bytes written to buffer, or -1 (with errno set) - * notes: - * Enforces label and domain length limits. - */ - -int -ns_name_ntol(const u_char *src, u_char *dst, size_t dstsiz) { - const u_char *cp; - u_char *dn, *eom; - u_char c; - u_int n; - - cp = src; - dn = dst; - eom = dst + dstsiz; - - while ((n = *cp++) != 0) { - if ((n & NS_CMPRSFLGS) != 0) { - /* Some kind of compression pointer. */ - __set_errno (EMSGSIZE); - return (-1); - } - *dn++ = n; - if (dn + n >= eom) { - __set_errno (EMSGSIZE); - return (-1); - } - for ((void)NULL; n > 0; n--) { - c = *cp++; - if (isupper(c)) - *dn++ = tolower(c); - else - *dn++ = c; - } - } - *dn++ = '\0'; - return (dn - dst); -} - -/* * ns_name_unpack(msg, eom, src, dst, dstsiz) * Unpack a domain name from a message, source may be compressed. * return: @@ -357,48 +251,36 @@ ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src, srcp = src; dstlim = dst + dstsiz; if (srcp < msg || srcp >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } /* Fetch next label in domain name. */ while ((n = *srcp++) != 0) { /* Check for indirection. */ switch (n & NS_CMPRSFLGS) { - case 0x40: - if (n == 0x41) { - if (dstp + 1 >= dstlim) { - __set_errno (EMSGSIZE); - return (-1); - } - *dstp++ = 0x41; - n = *srcp++ / 8; - ++checked; - } else { - __set_errno (EMSGSIZE); - return (-1); /* flag error */ - } - /* FALLTHROUGH */ case 0: /* Limit checks. */ if (dstp + n + 1 >= dstlim || srcp + n >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } checked += n + 1; - dstp = mempcpy(dstp, srcp - 1, n + 1); + *dstp++ = n; + memcpy(dstp, srcp, n); + dstp += n; srcp += n; break; case NS_CMPRSFLGS: if (srcp >= eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } if (len < 0) len = srcp - src + 1; srcp = msg + (((n & 0x3f) << 8) | (*srcp & 0xff)); if (srcp < msg || srcp >= eom) { /* Out of range. */ - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } checked += 2; @@ -408,13 +290,13 @@ ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src, * there must be a loop. */ if (checked >= eom - msg) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } break; default: - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); /* flag error */ } } @@ -423,7 +305,6 @@ ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src, len = srcp - src; return (len); } -libresolv_hidden_def (ns_name_unpack) /* * ns_name_pack(src, dst, dstsiz, dnptrs, lastdnptr) @@ -449,7 +330,7 @@ ns_name_pack(const u_char *src, u_char *dst, int dstsiz, u_char *dstp; const u_char **cpp, **lpp, *eob, *msg; const u_char *srcp; - int n, l, first = 1; + int n, l; srcp = src; dstp = dst; @@ -468,31 +349,29 @@ ns_name_pack(const u_char *src, u_char *dst, int dstsiz, l = 0; do { n = *srcp; - if ((n & NS_CMPRSFLGS) != 0 && n != 0x41) { - __set_errno (EMSGSIZE); + if ((n & NS_CMPRSFLGS) != 0) { + errno = EMSGSIZE; return (-1); } - if (n == 0x41) - n = *++srcp / 8; l += n + 1; if (l > MAXCDNAME) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } srcp += n + 1; } while (n != 0); - /* from here on we need to reset compression pointer array on error */ srcp = src; do { /* Look to see if we can use pointers. */ n = *srcp; - if (n != 0 && n != 0x41 && msg != NULL) { + if (n != 0 && msg != NULL) { l = dn_find(srcp, msg, (const u_char * const *)dnptrs, (const u_char * const *)lpp); if (l >= 0) { if (dstp + 1 >= eob) { - goto cleanup; + errno = EMSGSIZE; + return (-1); } *dstp++ = (l >> 8) | NS_CMPRSFLGS; *dstp++ = l % 256; @@ -500,24 +379,19 @@ ns_name_pack(const u_char *src, u_char *dst, int dstsiz, } /* Not found, save it. */ if (lastdnptr != NULL && cpp < lastdnptr - 1 && - (dstp - msg) < 0x4000 && first) { + (dstp - msg) < 0x4000) { *cpp++ = dstp; *cpp = NULL; - first = 0; } } /* copy label to buffer */ - if ((n & NS_CMPRSFLGS) != 0 && n != 0x41) { /* Should not happen. */ - goto cleanup; - } - if (n == 0x41) { - n = *++srcp / 8; - if (dstp + 1 >= eob) - goto cleanup; - *dstp++ = 0x41; + if (n & NS_CMPRSFLGS) { /* Should not happen. */ + errno = EMSGSIZE; + return (-1); } if (dstp + 1 + n >= eob) { - goto cleanup; + errno = EMSGSIZE; + return (-1); } memcpy(dstp, srcp, n + 1); srcp += n + 1; @@ -525,12 +399,11 @@ ns_name_pack(const u_char *src, u_char *dst, int dstsiz, } while (n != 0); if (dstp > eob) { -cleanup: if (msg != NULL) *lpp = NULL; - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); - } + } return (dstp - dst); } @@ -548,7 +421,7 @@ ns_name_uncompress(const u_char *msg, const u_char *eom, const u_char *src, { u_char tmp[NS_MAXCDNAME]; int n; - + if ((n = ns_name_unpack(msg, eom, src, tmp, sizeof tmp)) == -1) return (-1); if (ns_name_ntop(tmp, dst, dstsiz) == -1) @@ -582,23 +455,6 @@ ns_name_compress(const char *src, u_char *dst, size_t dstsiz, } /* - * Reset dnptrs so that there are no active references to pointers at or - * after src. - */ -void -ns_name_rollback(const u_char *src, const u_char **dnptrs, - const u_char **lastdnptr) -{ - while (dnptrs < lastdnptr && *dnptrs != NULL) { - if (*dnptrs >= src) { - *dnptrs = NULL; - break; - } - dnptrs++; - } -} - -/* * ns_name_skip(ptrptr, eom) * Advance *ptrptr to skip over the compressed name it points at. * return: @@ -620,13 +476,13 @@ ns_name_skip(const u_char **ptrptr, const u_char *eom) { cp++; break; default: /* illegal type */ - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } break; } if (cp > eom) { - __set_errno (EMSGSIZE); + errno = EMSGSIZE; return (-1); } *ptrptr = cp; @@ -700,49 +556,37 @@ dn_find(const u_char *domain, const u_char *msg, u_int n; for (cpp = dnptrs; cpp < lastdnptr; cpp++) { - sp = *cpp; - /* - * terminate search on: - * root label - * compression pointer - * unusable offset - */ - while (*sp != 0 && (*sp & NS_CMPRSFLGS) == 0 && - (sp - msg) < 0x4000) { - dn = domain; - cp = sp; - while ((n = *cp++) != 0) { - /* - * check for indirection - */ - switch (n & NS_CMPRSFLGS) { - case 0: /* normal case, n == len */ - if (n != *dn++) - goto next; - for ((void)NULL; n > 0; n--) - if (mklower(*dn++) != - mklower(*cp++)) - goto next; - /* Is next root for both ? */ - if (*dn == '\0' && *cp == '\0') - return (sp - msg); - if (*dn) - continue; + dn = domain; + sp = cp = *cpp; + while ((n = *cp++) != 0) { + /* + * check for indirection + */ + switch (n & NS_CMPRSFLGS) { + case 0: /* normal case, n == len */ + if (n != *dn++) goto next; - - case NS_CMPRSFLGS: /* indirection */ - cp = msg + (((n & 0x3f) << 8) | *cp); - break; - - default: /* illegal type */ - __set_errno (EMSGSIZE); - return (-1); - } + for ((void)NULL; n > 0; n--) + if (mklower(*dn++) != mklower(*cp++)) + goto next; + /* Is next root for both ? */ + if (*dn == '\0' && *cp == '\0') + return (sp - msg); + if (*dn) + continue; + goto next; + + case NS_CMPRSFLGS: /* indirection */ + cp = msg + (((n & 0x3f) << 8) | *cp); + break; + + default: /* illegal type */ + errno = EMSGSIZE; + return (-1); } - next: - sp += *sp + 1; } + next: ; } - __set_errno (ENOENT); + errno = ENOENT; return (-1); } |