diff options
author | Roland McGrath <roland@gnu.org> | 1996-03-19 21:10:11 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-03-19 21:10:11 +0000 |
commit | c224a18a9045610c4ec1e4d959f6a5dd6b117dd9 (patch) | |
tree | 3ec6bbc9ad25817511f08d4a10035d351d88f6bf | |
parent | b20e47cb14ec8edccab7c722743a731e67280702 (diff) | |
download | glibc-c224a18a9045610c4ec1e4d959f6a5dd6b117dd9.zip glibc-c224a18a9045610c4ec1e4d959f6a5dd6b117dd9.tar.gz glibc-c224a18a9045610c4ec1e4d959f6a5dd6b117dd9.tar.bz2 |
* config.make.in (weak-symbols): Variable removed.
* configure.in (--with-weak-symbols): Option removed.
(NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE):
New tests.
* config.h.in (HAVE_WEAK_SYMBOLS): #undef removed.
(NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE):
New #undefs.
* libc-symbols.h: Use them instead of HAVE_WEAK_SYMBOLS.
* inet/inet_lnaof.c: Use u_int32_t instead of u_long.
* inet/inet_mkadr.c: Likewise.
* inet/inet_net.c: Likewise.
* inet/inet_netof.c: Likewise.
* inet/rcmd.c: Likewise.
* inet/arpa/inet.h: Likewise.
* inet/netinet/in.h: Likewise.
* inet/netinet/tcp.h: Likewise.
* inet/protocols/rwhod.h: Likewise.
* inet/protocols/talkd.h: Likewise.
* resolv/inet_addr.c: Likewise.
* sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to
u_int32_t (instead of u_long).
-rw-r--r-- | ChangeLog | 27 | ||||
-rw-r--r-- | config.h.in | 22 | ||||
-rw-r--r-- | config.make.in | 1 | ||||
-rwxr-xr-x | configure | 147 | ||||
-rw-r--r-- | configure.in | 73 | ||||
-rw-r--r-- | inet/arpa/inet.h | 11 | ||||
-rw-r--r-- | inet/inet_lnaof.c | 4 | ||||
-rw-r--r-- | inet/inet_mkadr.c | 4 | ||||
-rw-r--r-- | inet/inet_net.c | 6 | ||||
-rw-r--r-- | inet/inet_netof.c | 4 | ||||
-rw-r--r-- | inet/netinet/in.h | 18 | ||||
-rw-r--r-- | inet/netinet/tcp.h | 2 | ||||
-rw-r--r-- | inet/protocols/rwhod.h | 4 | ||||
-rw-r--r-- | inet/protocols/talkd.h | 8 | ||||
-rw-r--r-- | inet/rcmd.c | 20 | ||||
-rw-r--r-- | libc-symbols.h | 52 | ||||
-rw-r--r-- | resolv/inet_addr.c | 4 | ||||
-rw-r--r-- | sunrpc/rpc/auth.h | 8 | ||||
-rw-r--r-- | sunrpc/svc_authux.c | 2 | ||||
-rw-r--r-- | sunrpc/xdr_rec.c | 174 |
20 files changed, 385 insertions, 206 deletions
@@ -1,9 +1,30 @@ Tue Mar 19 14:18:42 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + * config.make.in (weak-symbols): Variable removed. + * configure.in (--with-weak-symbols): Option removed. + (NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE): + New tests. + * config.h.in (HAVE_WEAK_SYMBOLS): #undef removed. + (NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE): + New #undefs. + * libc-symbols.h: Use them instead of HAVE_WEAK_SYMBOLS. + * sysdeps/unix/bsd/pause.c: Moved to sysdeps/unix/common/pause.c. Mon Mar 4 20:17:28 1996 David Mosberger-Tang <davidm@azstarnet.com> + * inet/inet_lnaof.c: Use u_int32_t instead of u_long. + * inet/inet_mkadr.c: Likewise. + * inet/inet_net.c: Likewise. + * inet/inet_netof.c: Likewise. + * inet/rcmd.c: Likewise. + * inet/arpa/inet.h: Likewise. + * inet/netinet/in.h: Likewise. + * inet/netinet/tcp.h: Likewise. + * inet/protocols/rwhod.h: Likewise. + * inet/protocols/talkd.h: Likewise. + * resolv/inet_addr.c: Likewise. + * sysdeps/unix/sysv/linux/adjtime.c: Use INT_MAX instead of LONG_MAX. * sysdeps/unix/sysv/Makefile (sysdep_routines): Don't add s_getdents. @@ -190,13 +211,13 @@ Wed Feb 14 00:21:17 1996 David Mosberger-Tang <davidm@azstarnet.com> * sunrpc/svc.c (maskp): changed from u_long* to u_int32*. + * sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to + u_int32_t (instead of u_long). + * sunrpc/rpc_cmsg.c (xdr_callmsg), sunrpc/svc_authux.c: increment "buf" pointer by casting it to a char* first since a long* may be 8 bytes or more and oa->oa_length may be any multiple of 4. - * sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to - u_int32_t (instead of u_long). - * sunrpc/clnt_udp.c (clntudp_call): replaced sizeof(u_long) by 4 since it really is testing for 32 bits. Fixed casts to use u_int32 instead of u_long. diff --git a/config.h.in b/config.h.in index 52332be..35d865b 100644 --- a/config.h.in +++ b/config.h.in @@ -4,12 +4,19 @@ #undef HAVE_GNU_LD /* Define if using ELF, which supports weak symbols. - This implies HAVE_WEAK_SYMBOLS; set by --with-elf. */ + This implies HAVE_ASM_WEAK_DIRECTIVE and NO_UNDERSCORES; set by + --with-elf. */ #undef HAVE_ELF -/* Define if weak symbols are available in the assembler and - linker being used. Set by --with-weak-symbols. */ -#undef HAVE_WEAK_SYMBOLS +/* Define if C symbols are asm symbols. Don't define if C symbols + have a `_' prepended to make the asm symbol. */ +#undef NO_UNDERSCORES + +/* Define if weak symbols are available via the `.weak' directive. */ +#undef HAVE_ASM_WEAK_DIRECTIVE + +/* Define if weak symbols are available via the `.weakext' directive. */ +#undef HAVE_ASM_WEAKEXT_DIRECTIVE /* Define if not using ELF, but `.init' and `.fini' sections are available. */ #undef HAVE_INITFINI @@ -24,13 +31,6 @@ declaring a symbol global (default `.globl'). */ #undef ASM_GLOBAL_DIRECTIVE -/* ELF has weak symbols, and with GNU ld a.out does too. */ -#ifndef HAVE_WEAK_SYMBOLS -#if defined (HAVE_ELF) || defined (HAVE_GNU_LD) -#define HAVE_WEAK_SYMBOLS -#endif -#endif - /* Define to use GNU libio instead of GNU stdio. This is defined by configure under --enable-libio. */ #undef USE_IN_LIBIO diff --git a/config.make.in b/config.make.in index 2af925d..5057174 100644 --- a/config.make.in +++ b/config.make.in @@ -15,7 +15,6 @@ config-sysdirs = @sysnames@ config-defines = @DEFS@ elf = @elf@ -weak-symbols = @weak@ have-initfini = @libc_cv_have_initfini@ # Configuration options. @@ -2,8 +2,8 @@ # From configure.in CVSid # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.7 -# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. +# Generated automatically using autoconf version 2.9 +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. @@ -27,8 +27,6 @@ ac_help="$ac_help ac_help="$ac_help --with-elf if using the ELF object format" ac_help="$ac_help - --with-weak-symbols if weak symbols are available in as and ld" -ac_help="$ac_help --enable-libio build in GNU libio instead of GNU stdio" ac_help="$ac_help --enable-shared build shared library [default=yes if GNU ld & ELF]" @@ -355,7 +353,7 @@ EOF verbose=yes ;; -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.7" + echo "configure generated by autoconf version 2.9" exit 0 ;; -with-* | --with-*) @@ -620,14 +618,6 @@ else elf=no fi -# Check whether --with-weak-symbols or --without-weak-symbols was given. -if test "${with_weak_symbols+set}" = set; then - withval="$with_weak_symbols" - weak=$withval -else - weak=no -fi - # Check whether --enable-libio or --disable-libio was given. if test "${enable_libio+set}" = set; then @@ -1147,13 +1137,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1151 "configure" +#line 1141 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1157: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1147: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1162,13 +1152,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1166 "configure" +#line 1156 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1217,7 +1207,7 @@ if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&4 else cat > conftest.$ac_ext <<EOF -#line 1221 "configure" +#line 1211 "configure" #include "confdefs.h" #define __need_size_t #define __need_wchar_t @@ -1233,7 +1223,7 @@ size_t size; wchar_t wchar; if (&size == NULL || &wchar == NULL) abort (); ; return 0; } EOF -if { (eval echo configure:1237: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_friendly_stddef=yes else @@ -1340,7 +1330,7 @@ if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&4 else cat > conftest.$ac_ext <<EOF -#line 1344 "configure" +#line 1334 "configure" #include "confdefs.h" int main() { return 0; } @@ -1349,7 +1339,7 @@ asm (".section .init"); asm (".section .fini"); ; return 0; } EOF -if { (eval echo configure:1353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_have_initfini=yes else @@ -1369,6 +1359,108 @@ EOF fi fi +if test $elf = yes; then + libc_cv_asm_underscores=no +else + echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&4 +if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.$ac_ext <<EOF +#line 1371 "configure" +#include "confdefs.h" +asm ("_glibc_foobar:"); +int main() { return 0; } +int t() { +glibc_foobar (); +; return 0; } +EOF +if { (eval echo configure:1379: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + libc_cv_asm_underscores=yes +else + rm -rf conftest* + libc_cv_asm_underscores=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$libc_cv_asm_underscores" 1>&4 +fi +if test $libc_cv_asm_underscores = no; then + cat >> confdefs.h <<\EOF +#define NO_UNDERSCORES 1 +EOF + +fi + +if test $elf = yes; then + libc_cv_weak_symbols=yes + libc_cv_asm_weak_directive=yes + libc_cv_asm_weakext_directive=no +else + echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&4 +if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.s <<EOF +.text +${libc_cv_asm_global_directive} foo +foo: .long 0 +.weak foo +.weak bar; bar = foo +EOF + if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then + libc_cv_asm_weak_directive=yes + else + libc_cv_asm_weak_directive=no + fi + rm -f conftest* +fi + +echo "$ac_t""$libc_cv_asm_weak_directive" 1>&4 + +if $libc_cv_asm_weak_directive = no; then + echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&4 +if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.s <<EOF +.text +${libc_cv_asm_global_directive} foo +foo: .long 0 +.weakext foo +.weak bar, foo +EOF + if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then + libc_cv_asm_weakext_directive=yes + else + libc_cv_asm_weakext_directive=no + fi + rm -f conftest* +fi + +echo "$ac_t""$libc_cv_asm_weakext_directive" 1>&4 + + fi # no .weak +fi # not ELF + +if test $libc_cv_asm_weak_directive; then + cat >> confdefs.h <<\EOF +#define HAVE_ASM_WEAK_DIRECTIVE 1 +EOF + +elif test $libc_cv_asm_weakext_directive; then + cat >> confdefs.h <<\EOF +#define HAVE_ASM_WEAKEXT_DIRECTIVE 1 +EOF + +fi + +### End of automated tests. +### Now run sysdeps configure fragments. + # sysdeps configure fragments may set these with files to be linked below. libc_link_dests= libc_link_sources= @@ -1456,7 +1548,7 @@ default) stdio=stdio ;; esac echo "$ac_t""$stdio" 1>&4 - + if test $gnu_ld = yes; then cat >> confdefs.h <<\EOF #define HAVE_GNU_LD 1 @@ -1475,12 +1567,6 @@ if test $elf = yes; then EOF fi -if test $weak = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_WEAK_SYMBOLS 1 -EOF - -fi if test $shared = default; then @@ -1573,7 +1659,7 @@ do echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.7" + echo "$CONFIG_STATUS generated by autoconf version 2.9" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; @@ -1639,7 +1725,6 @@ s%@stdio@%$stdio%g s%@gnu_ld@%$gnu_ld%g s%@gnu_as@%$gnu_as%g s%@elf@%$elf%g -s%@weak@%$weak%g s%@shared@%$shared%g s%@profile@%$profile%g s%@omitfp@%$omitfp%g @@ -1747,7 +1832,7 @@ rm -f conftest.vals cat > conftest.hdr <<\EOF s/[\\&%]/\\&/g s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp s%ac_d%ac_u%gp s%ac_u%ac_e%gp EOF diff --git a/configure.in b/configure.in index 4c9d881..d124e49 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ Dnl Process this file with autoconf to produce a configure script. AC_REVISION([$CVSid$]) -AC_PREREQ(2.4.2)dnl dnl Minimum Autoconf version required. +AC_PREREQ(2.9)dnl dnl Minimum Autoconf version required. AC_INIT(features.h) AC_CONFIG_HEADER(config.h) @@ -49,9 +49,6 @@ test $gnu_binutils = yes && gnu_as=yes gnu_ld=yes AC_ARG_WITH(elf, dnl --with-elf if using the ELF object format, elf=$withval, elf=no) -AC_ARG_WITH(weak-symbols, dnl - --with-weak-symbols if weak symbols are available in as and ld, - weak=$withval, weak=no) AC_ARG_ENABLE(libio, dnl [ --enable-libio build in GNU libio instead of GNU stdio], @@ -406,6 +403,69 @@ if test $elf != yes; then fi fi +if test $elf = yes; then + libc_cv_asm_underscores=no +else + AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores, + [AC_TRY_COMPILE([asm ("_glibc_foobar:");], [glibc_foobar ();], + libc_cv_asm_underscores=yes, + libc_cv_asm_underscores=no)]) +fi +if test $libc_cv_asm_underscores = no; then + AC_DEFINE(NO_UNDERSCORES) +fi + +if test $elf = yes; then + libc_cv_weak_symbols=yes + libc_cv_asm_weak_directive=yes + libc_cv_asm_weakext_directive=no +else + AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive, + [dnl +cat > conftest.s <<EOF +.text +${libc_cv_asm_global_directive} foo +foo: .long 0 +.weak foo +.weak bar; bar = foo +EOF + if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then + libc_cv_asm_weak_directive=yes + else + libc_cv_asm_weak_directive=no + fi + rm -f conftest*]) + +if $libc_cv_asm_weak_directive = no; then + AC_CACHE_CHECK(for assembler .weakext directive, + libc_cv_asm_weakext_directive, + [dnl +cat > conftest.s <<EOF +.text +${libc_cv_asm_global_directive} foo +foo: .long 0 +.weakext foo +.weak bar, foo +EOF + if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then + libc_cv_asm_weakext_directive=yes + else + libc_cv_asm_weakext_directive=no + fi + rm -f conftest*]) + + fi # no .weak +fi # not ELF + +if test $libc_cv_asm_weak_directive; then + AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE) +elif test $libc_cv_asm_weakext_directive; then + AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE) +fi + +### End of automated tests. +### Now run sysdeps configure fragments. + # sysdeps configure fragments may set these with files to be linked below. libc_link_dests= libc_link_sources= @@ -498,7 +558,7 @@ default) stdio=stdio ;; esac AC_MSG_RESULT($stdio) -AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(weak) +AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) if test $gnu_ld = yes; then AC_DEFINE(HAVE_GNU_LD) fi @@ -508,9 +568,6 @@ fi if test $elf = yes; then AC_DEFINE(HAVE_ELF) fi -if test $weak = yes; then - AC_DEFINE(HAVE_WEAK_SYMBOLS) -fi AC_SUBST(shared) if test $shared = default; then diff --git a/inet/arpa/inet.h b/inet/arpa/inet.h index a231484..2413dcf 100644 --- a/inet/arpa/inet.h +++ b/inet/arpa/inet.h @@ -39,14 +39,15 @@ /* External definitions for functions in inet(3) */ #include <sys/cdefs.h> +#include <sys/types.h> __BEGIN_DECLS -unsigned long inet_addr __P((const char *)); +u_int32_t inet_addr __P((const char *)); int inet_aton __P((const char *, struct in_addr *)); -unsigned long inet_lnaof __P((struct in_addr)); -struct in_addr inet_makeaddr __P((u_long , u_long)); -unsigned long inet_netof __P((struct in_addr)); -unsigned long inet_network __P((const char *)); +u_int32_t inet_lnaof __P((struct in_addr)); +struct in_addr inet_makeaddr __P((u_int32_t , u_int32_t)); +u_int32_t inet_netof __P((struct in_addr)); +u_int32_t inet_network __P((const char *)); char *inet_ntoa __P((struct in_addr)); __END_DECLS diff --git a/inet/inet_lnaof.c b/inet/inet_lnaof.c index 406be30..cd5ef29 100644 --- a/inet/inet_lnaof.c +++ b/inet/inet_lnaof.c @@ -44,11 +44,11 @@ static char sccsid[] = "@(#)inet_lnaof.c 8.1 (Berkeley) 6/4/93"; * internet address; handles class a/b/c network * number formats. */ -u_long +u_int32_t inet_lnaof(in) struct in_addr in; { - register u_long i = ntohl(in.s_addr); + register u_int32_t i = ntohl(in.s_addr); if (IN_CLASSA(i)) return ((i)&IN_CLASSA_HOST); diff --git a/inet/inet_mkadr.c b/inet/inet_mkadr.c index 7976188..7f26074 100644 --- a/inet/inet_mkadr.c +++ b/inet/inet_mkadr.c @@ -45,9 +45,9 @@ static char sccsid[] = "@(#)inet_makeaddr.c 8.1 (Berkeley) 6/4/93"; */ struct in_addr inet_makeaddr(net, host) - u_long net, host; + u_int32_t net, host; { - u_long addr; + u_int32_t addr; if (net < 128) addr = (net << IN_CLASSA_NSHIFT) | (host & IN_CLASSA_HOST); diff --git a/inet/inet_net.c b/inet/inet_net.c index fda53b6..cfaadd7 100644 --- a/inet/inet_net.c +++ b/inet/inet_net.c @@ -45,13 +45,13 @@ static char sccsid[] = "@(#)inet_network.c 8.1 (Berkeley) 6/4/93"; * The library routines call this routine to interpret * network numbers. */ -u_long +u_int32_t inet_network(cp) register const char *cp; { - register u_long val, base, n; + register u_int32_t val, base, n; register char c; - u_long parts[4], *pp = parts; + u_int32_t parts[4], *pp = parts; register int i; again: diff --git a/inet/inet_netof.c b/inet/inet_netof.c index d6de694..40cbc0e 100644 --- a/inet/inet_netof.c +++ b/inet/inet_netof.c @@ -43,11 +43,11 @@ static char sccsid[] = "@(#)inet_netof.c 8.1 (Berkeley) 6/4/93"; * Return the network number from an internet * address; handles class a/b/c network #'s. */ -u_long +u_int32_t inet_netof(in) struct in_addr in; { - register u_long i = ntohl(in.s_addr); + register u_int32_t i = ntohl(in.s_addr); if (IN_CLASSA(i)) return (((i)&IN_CLASSA_NET) >> IN_CLASSA_NSHIFT); diff --git a/inet/netinet/in.h b/inet/netinet/in.h index 609edf8..a135cf2 100644 --- a/inet/netinet/in.h +++ b/inet/netinet/in.h @@ -89,7 +89,7 @@ enum /* Internet address. */ struct in_addr { - unsigned long int s_addr; + unsigned int s_addr; }; @@ -98,33 +98,33 @@ struct in_addr On subnets, host and network parts are found according to the subnet mask, not these masks. */ -#define IN_CLASSA(a) ((((long int) (a)) & 0x80000000) == 0) +#define IN_CLASSA(a) ((((unsigned) (a)) & 0x80000000) == 0) #define IN_CLASSA_NET 0xff000000 #define IN_CLASSA_NSHIFT 24 #define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET) #define IN_CLASSA_MAX 128 -#define IN_CLASSB(a) ((((long int) (a)) & 0xc0000000) == 0x80000000) +#define IN_CLASSB(a) ((((unsigned) (a)) & 0xc0000000) == 0x80000000) #define IN_CLASSB_NET 0xffff0000 #define IN_CLASSB_NSHIFT 16 #define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET) #define IN_CLASSB_MAX 65536 -#define IN_CLASSC(a) ((((long int) (a)) & 0xc0000000) == 0xc0000000) +#define IN_CLASSC(a) ((((unsigned) (a)) & 0xc0000000) == 0xc0000000) #define IN_CLASSC_NET 0xffffff00 #define IN_CLASSC_NSHIFT 8 #define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET) -#define IN_CLASSD(a) ((((long int) (a)) & 0xf0000000) == 0xe0000000) +#define IN_CLASSD(a) ((((unsigned) (a)) & 0xf0000000) == 0xe0000000) #define IN_MULTICAST(a) IN_CLASSD(a) -#define IN_EXPERIMENTAL(a) ((((long int) (a)) & 0xe0000000) == 0xe0000000) -#define IN_BADCLASS(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000) +#define IN_EXPERIMENTAL(a) ((((unsigned) (a)) & 0xe0000000) == 0xe0000000) +#define IN_BADCLASS(a) ((((unsigned) (a)) & 0xf0000000) == 0xf0000000) /* Address to accept any incoming messages. */ -#define INADDR_ANY ((unsigned long int) 0x00000000) +#define INADDR_ANY ((unsigned) 0x00000000) /* Address to send to all hosts. */ -#define INADDR_BROADCAST ((unsigned long int) 0xffffffff) +#define INADDR_BROADCAST ((unsigned) 0xffffffff) /* Address indicating an error return. */ #define INADDR_NONE 0xffffffff diff --git a/inet/netinet/tcp.h b/inet/netinet/tcp.h index 6b77ff6..bc821e1 100644 --- a/inet/netinet/tcp.h +++ b/inet/netinet/tcp.h @@ -33,7 +33,7 @@ * @(#)tcp.h 8.1 (Berkeley) 6/10/93 */ -typedef u_long tcp_seq; +typedef unsigned int tcp_seq; /* * TCP header. * Per RFC 793, September, 1981. diff --git a/inet/protocols/rwhod.h b/inet/protocols/rwhod.h index 93008a4..4ce4490 100644 --- a/inet/protocols/rwhod.h +++ b/inet/protocols/rwhod.h @@ -36,13 +36,15 @@ #ifndef _RWHOD_H_ #define _RWHOD_H_ +#include <sys/types.h> + /* * rwho protocol packet format. */ struct outmp { char out_line[8]; /* tty name */ char out_name[8]; /* user id */ - long out_time; /* time on */ + int32_t out_time; /* time on */ }; struct whod { diff --git a/inet/protocols/talkd.h b/inet/protocols/talkd.h index 0d30d5b..c523bf5 100644 --- a/inet/protocols/talkd.h +++ b/inet/protocols/talkd.h @@ -54,6 +54,8 @@ * stream connection through which the conversation takes place. */ +#include <sys/types.h> + /* * Client->server request message format. */ @@ -62,10 +64,10 @@ typedef struct { u_char type; /* request type, see below */ u_char answer; /* not used */ u_char pad; - u_long id_num; /* message id */ + u_int32_t id_num; /* message id */ struct osockaddr addr; /* old (4.3) style */ struct osockaddr ctl_addr; /* old (4.3) style */ - long pid; /* caller's process id */ + int32_t pid; /* caller's process id */ #define NAME_SIZE 12 char l_name[NAME_SIZE];/* caller's name */ char r_name[NAME_SIZE];/* callee's name */ @@ -81,7 +83,7 @@ typedef struct { u_char type; /* type of request message, see below */ u_char answer; /* respose to request message, see below */ u_char pad; - u_long id_num; /* message id */ + u_int32_t id_num; /* message id */ struct osockaddr addr; /* address for establishing conversation */ } CTL_RESPONSE; diff --git a/inet/rcmd.c b/inet/rcmd.c index ae6e0b6..7a29db2 100644 --- a/inet/rcmd.c +++ b/inet/rcmd.c @@ -52,8 +52,8 @@ static char sccsid[] = "@(#)rcmd.c 8.3 (Berkeley) 3/26/94"; #include <ctype.h> #include <string.h> -int __ivaliduser __P((FILE *, u_long, const char *, const char *)); -static int __icheckhost __P((u_long, char *)); +int __ivaliduser __P((FILE *, u_int32_t, const char *, const char *)); +static int __icheckhost __P((u_int32_t, char *)); int rcmd(ahost, rport, locuser, remuser, cmd, fd2p) @@ -65,7 +65,7 @@ rcmd(ahost, rport, locuser, remuser, cmd, fd2p) struct hostent *hp; struct sockaddr_in sin, from; fd_set reads; - long oldmask; + int32_t oldmask; pid_t pid; int s, lport, timo; char c; @@ -242,7 +242,7 @@ ruserok(rhost, superuser, ruser, luser) int superuser; { struct hostent *hp; - u_long addr; + u_int32_t addr; char **ap; if ((hp = gethostbyname(rhost)) == NULL) @@ -266,7 +266,7 @@ ruserok(rhost, superuser, ruser, luser) */ int iruserok(raddr, superuser, ruser, luser) - u_long raddr; + u_int32_t raddr; int superuser; const char *ruser, *luser; { @@ -347,7 +347,7 @@ again: int __ivaliduser(hostf, raddr, luser, ruser) FILE *hostf; - u_long raddr; + u_int32_t raddr; const char *luser, *ruser; { register char *user, *p; @@ -389,15 +389,15 @@ __ivaliduser(hostf, raddr, luser, ruser) */ static int __icheckhost(raddr, lhost) - u_long raddr; + u_int32_t raddr; register char *lhost; { register struct hostent *hp; - register u_long laddr; + register u_int32_t laddr; register char **pp; /* Try for raw ip address first. */ - if (isdigit(*lhost) && (long)(laddr = inet_addr(lhost)) != -1) + if (isdigit(*lhost) && (int32_t)(laddr = inet_addr(lhost)) != -1) return (raddr == laddr); /* Better be a hostname. */ @@ -406,7 +406,7 @@ __icheckhost(raddr, lhost) /* Spin through ip addresses. */ for (pp = hp->h_addr_list; *pp; ++pp) - if (!bcmp(&raddr, *pp, sizeof(u_long))) + if (!bcmp(&raddr, *pp, sizeof(u_int32_t))) return (1); /* No match. */ diff --git a/libc-symbols.h b/libc-symbols.h index bb5f54e..f7231f9 100644 --- a/libc-symbols.h +++ b/libc-symbols.h @@ -27,14 +27,13 @@ Cambridge, MA 02139, USA. */ We include config.h which is generated by configure. It should define for us the following symbols: + * HAVE_ASM_SET_DIRECTIVE if we have `.set B, A' instead of `A = B'. + * ASM_GLOBAL_DIRECTIVE with `.globl' or `.global'. * HAVE_GNU_LD if using GNU ld, with support for weak symbols in a.out, and for symbol set and warning messages extensions in a.out and ELF. - This implies HAVE_WEAK_SYMBOLS; set by --with-gnu-ld. - * HAVE_ELF if using ELF, which supports weak symbols. - This implies HAVE_WEAK_SYMBOLS; set by --with-elf. - - * HAVE_WEAK_SYMBOLS if weak symbols are available in the assembler and - linker being used. Set by --with-weak-symbols. + * HAVE_ELF if using ELF, which supports weak symbols using `.weak'. + * HAVE_ASM_WEAK_DIRECTIVE if we have weak symbols using `.weak'. + * HAVE_ASM_WEAKEXT_DIRECTIVE if we have weak symbols using `.weakext'. */ @@ -79,23 +78,14 @@ extern const char _libc_intl_domainname[]; /* */ -/* The symbols in all the user (non-_) macros are C symbols. Predefined - should be HAVE_WEAK_SYMBOLS and/or HAVE_ELF and/or HAVE_GNU_LD. - HAVE_WEAK_SYMBOLS is implied by the other two. HAVE_GNU_LD without - HAVE_ELF implies a.out. */ +/* The symbols in all the user (non-_) macros are C symbols. + HAVE_GNU_LD without HAVE_ELF implies a.out. */ -#ifndef HAVE_WEAK_SYMBOLS -#if defined (HAVE_ELF) || defined (HAVE_GNU_LD) +#if defined (HAVE_ASM_WEAK_DIRECTIVE) || defined (HAVE_ASM_WEAKEXT_DIRECTIVE) #define HAVE_WEAK_SYMBOLS #endif -#endif #ifndef __SYMBOL_PREFIX -#ifdef HAVE_ELF -#define NO_UNDERSCORES -#else -#include <sysdep.h> /* Should define NO_UNDERSCORES. */ -#endif #ifdef NO_UNDERSCORES #define __SYMBOL_PREFIX #else @@ -143,8 +133,21 @@ extern const char _libc_intl_domainname[]; #ifdef HAVE_WEAK_SYMBOLS + #ifdef ASSEMBLER +#ifdef HAVE_ASM_WEAKEXT_DIRECTIVE + +/* Define ALIAS as a weak alias for ORIGINAL. + If weak aliases are not available, this defines a strong alias. */ +#define weak_alias(original, alias) \ + .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original) + +/* Declare SYMBOL to be weak. */ +#define weak_symbol(symbol) .weakext C_SYMBOL_NAME (symbol) + +#else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ + /* Define ALIAS as a weak alias for ORIGINAL. If weak aliases are not available, this defines a strong alias. */ #define weak_alias(original, alias) \ @@ -154,12 +157,21 @@ extern const char _libc_intl_domainname[]; /* Declare SYMBOL to be weak. */ #define weak_symbol(symbol) .weak C_SYMBOL_NAME (symbol) -#else +#endif /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ + +#else /* ! ASSEMBLER */ + +#ifdef HAVE_ASM_WEAKEXT_DIRECTIVE +#define weak_symbol(symbol) asm (".weakext " __SYMBOL_PREFIX #symbol); +#define weak_alias(original, alias) \ + asm (".weakext " __SYMBOL_PREFIX #alias ", " __SYMBOL_PREFIX #original); +#else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ #define weak_symbol(symbol) asm (".weak " __SYMBOL_PREFIX #symbol); #define weak_alias(original, alias) \ asm (".weak " __SYMBOL_PREFIX #alias "\n" \ __SYMBOL_PREFIX #alias " = " __SYMBOL_PREFIX #original); -#endif +#endif /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ +#endif /* ! ASSEMBLER */ #else #define weak_alias(original, alias) strong_alias(original, alias) #define weak_symbol(symbol) /* Do nothing. */ diff --git a/resolv/inet_addr.c b/resolv/inet_addr.c index 01a38e6..bcf7f0d 100644 --- a/resolv/inet_addr.c +++ b/resolv/inet_addr.c @@ -70,7 +70,7 @@ static char rcsid[] = "$Id$"; * Ascii internet address interpretation routine. * The value returned is in network order. */ -u_long +u_int32_t inet_addr(cp) register const char *cp; { @@ -93,7 +93,7 @@ inet_aton(cp, addr) register const char *cp; struct in_addr *addr; { - register u_long val; + register u_int32_t val; register int base, n; register char c; u_int parts[4]; diff --git a/sunrpc/rpc/auth.h b/sunrpc/rpc/auth.h index cb19555..5f7c7f8 100644 --- a/sunrpc/rpc/auth.h +++ b/sunrpc/rpc/auth.h @@ -62,14 +62,10 @@ enum auth_stat { AUTH_FAILED=7 /* some unknown reason */ }; -#if 1 /* (mc68000 || sparc || vax || i386) --roland@gnu */ -typedef u_long u_int32; /* 32-bit unsigned integers */ -#endif - union des_block { struct { - u_int32 high; - u_int32 low; + u_int32_t high; + u_int32_t low; } key; char c[8]; }; diff --git a/sunrpc/svc_authux.c b/sunrpc/svc_authux.c index ea00b78..1b766d4 100644 --- a/sunrpc/svc_authux.c +++ b/sunrpc/svc_authux.c @@ -83,7 +83,7 @@ _svcauth_unix(rqst, msg) bcopy((caddr_t)buf, aup->aup_machname, (u_int)str_len); aup->aup_machname[str_len] = 0; str_len = RNDUP(str_len); - buf += str_len / sizeof (long); + buf = (u_long *) ((char *) buf + str_len); aup->aup_uid = IXDR_GET_LONG(buf); aup->aup_gid = IXDR_GET_LONG(buf); gid_len = IXDR_GET_U_LONG(buf); diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c index 4d0d4ec..4543595 100644 --- a/sunrpc/xdr_rec.c +++ b/sunrpc/xdr_rec.c @@ -42,7 +42,7 @@ static char sccsid[] = "@(#)xdr_rec.c 1.21 87/08/11 Copyr 1984 Sun Micro"; * and the tcp transport level. A record is composed on one or more * record fragments. A record fragment is a thirty-two bit header followed * by n bytes of data, where n is contained in the header. The header - * is represented as a htonl(u_long). Thegh order bit encodes + * is represented as a htonl(u_long). The high order bit encodes * whether or not the fragment is the last fragment of the record * (1 => fragment is last, 0 => more fragments to follow. * The other 31 bits encode the byte length of the fragment. @@ -90,7 +90,7 @@ static struct xdr_ops xdrrec_ops = { * meet the needs of xdr and rpc based on tcp. */ -#define LAST_FRAG ((u_long)(1 << 31)) +#define LAST_FRAG (1UL << 31) typedef struct rec_strm { caddr_t tcp_handle; @@ -102,7 +102,7 @@ typedef struct rec_strm { caddr_t out_base; /* output buffer (points to frag header) */ caddr_t out_finger; /* next output position */ caddr_t out_boundry; /* data cannot up to this address */ - u_long *frag_header; /* beginning of curren fragment */ + u_int32_t *frag_header; /* beginning of curren fragment */ bool_t frag_sent; /* true if buffer sent in middle of record */ /* * in-coming bits @@ -171,8 +171,8 @@ xdrrec_create(xdrs, sendsize, recvsize, tcp_handle, readit, writeit) rstrm->readit = readit; rstrm->writeit = writeit; rstrm->out_finger = rstrm->out_boundry = rstrm->out_base; - rstrm->frag_header = (u_long *)rstrm->out_base; - rstrm->out_finger += sizeof(u_long); + rstrm->frag_header = (u_int32_t *)rstrm->out_base; + rstrm->out_finger += 4; rstrm->out_boundry += sendsize; rstrm->frag_sent = FALSE; rstrm->in_size = recvsize; @@ -193,22 +193,24 @@ xdrrec_getlong(xdrs, lp) XDR *xdrs; long *lp; { - register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); - register long *buflp = (long *)(rstrm->in_finger); - long mylong; + register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; + register int32_t *buflp = (int32_t *) rstrm->in_finger; + int32_t mylong; /* first try the inline, fast case */ - if ((rstrm->fbtbc >= sizeof(long)) && - (((int)rstrm->in_boundry - (int)buflp) >= sizeof(long))) { - *lp = (long)ntohl((u_long)(*buflp)); - rstrm->fbtbc -= sizeof(long); - rstrm->in_finger += sizeof(long); + if (rstrm->fbtbc >= BYTES_PER_XDR_UNIT && + rstrm->in_boundry - (char *) buflp >= BYTES_PER_XDR_UNIT) + { + *lp = ntohl(*buflp); + rstrm->fbtbc -= BYTES_PER_XDR_UNIT; + rstrm->in_finger += BYTES_PER_XDR_UNIT; } else { - if (! xdrrec_getbytes(xdrs, (caddr_t)&mylong, sizeof(long))) - return (FALSE); - *lp = (long)ntohl((u_long)mylong); + if (! xdrrec_getbytes(xdrs, (caddr_t) &mylong, + BYTES_PER_XDR_UNIT)) + return FALSE; + *lp = ntohl(mylong); } - return (TRUE); + return TRUE; } static bool_t @@ -216,23 +218,23 @@ xdrrec_putlong(xdrs, lp) XDR *xdrs; long *lp; { - register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); - register long *dest_lp = ((long *)(rstrm->out_finger)); + register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; + register int32_t *dest_lp = (int32_t *) rstrm->out_finger; - if ((rstrm->out_finger += sizeof(long)) > rstrm->out_boundry) { + if ((rstrm->out_finger += BYTES_PER_XDR_UNIT) > rstrm->out_boundry) { /* * this case should almost never happen so the code is * inefficient */ - rstrm->out_finger -= sizeof(long); + rstrm->out_finger -= BYTES_PER_XDR_UNIT; rstrm->frag_sent = TRUE; if (! flush_out(rstrm, FALSE)) - return (FALSE); - dest_lp = ((long *)(rstrm->out_finger)); - rstrm->out_finger += sizeof(long); + return FALSE; + dest_lp = (int32_t *) rstrm->out_finger; + rstrm->out_finger += BYTES_PER_XDR_UNIT; } - *dest_lp = (long)htonl((u_long)(*lp)); - return (TRUE); + *dest_lp = htonl(*lp); + return TRUE; } static bool_t /* must manage buffers, fragments, and records */ @@ -241,26 +243,26 @@ xdrrec_getbytes(xdrs, addr, len) register caddr_t addr; register u_int len; { - register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); + register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; register int current; while (len > 0) { current = rstrm->fbtbc; if (current == 0) { if (rstrm->last_frag) - return (FALSE); + return FALSE; if (! set_input_fragment(rstrm)) - return (FALSE); + return FALSE; continue; } current = (len < current) ? len : current; if (! get_input_bytes(rstrm, addr, current)) - return (FALSE); + return FALSE; addr += current; rstrm->fbtbc -= current; len -= current; } - return (TRUE); + return TRUE; } static bool_t @@ -269,11 +271,11 @@ xdrrec_putbytes(xdrs, addr, len) register caddr_t addr; register u_int len; { - register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); + register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; register int current; while (len > 0) { - current = (u_int)rstrm->out_boundry - (u_int)rstrm->out_finger; + current = rstrm->out_boundry - rstrm->out_finger; current = (len < current) ? len : current; bcopy(addr, rstrm->out_finger, current); rstrm->out_finger += current; @@ -282,10 +284,10 @@ xdrrec_putbytes(xdrs, addr, len) if (rstrm->out_finger == rstrm->out_boundry) { rstrm->frag_sent = TRUE; if (! flush_out(rstrm, FALSE)) - return (FALSE); + return FALSE; } } - return (TRUE); + return TRUE; } static u_int @@ -319,7 +321,7 @@ xdrrec_setpos(xdrs, pos) register XDR *xdrs; u_int pos; { - register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private; + register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; u_int currpos = xdrrec_getpos(xdrs); int delta = currpos - pos; caddr_t newpos; @@ -329,10 +331,11 @@ xdrrec_setpos(xdrs, pos) case XDR_ENCODE: newpos = rstrm->out_finger - delta; - if ((newpos > (caddr_t)(rstrm->frag_header)) && - (newpos < rstrm->out_boundry)) { + if (newpos > (caddr_t) rstrm->frag_header && + newpos < rstrm->out_boundry) + { rstrm->out_finger = newpos; - return (TRUE); + return TRUE; } break; @@ -343,11 +346,11 @@ xdrrec_setpos(xdrs, pos) (newpos >= rstrm->in_base)) { rstrm->in_finger = newpos; rstrm->fbtbc -= delta; - return (TRUE); + return TRUE; } break; } - return (FALSE); + return FALSE; } static long * @@ -355,7 +358,7 @@ xdrrec_inline(xdrs, len) register XDR *xdrs; int len; { - register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private; + register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; long * buf = NULL; switch (xdrs->x_op) { @@ -376,7 +379,7 @@ xdrrec_inline(xdrs, len) } break; } - return (buf); + return buf; } static void @@ -403,17 +406,17 @@ bool_t xdrrec_skiprecord(xdrs) XDR *xdrs; { - register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); + register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; while (rstrm->fbtbc > 0 || (! rstrm->last_frag)) { if (! skip_input_bytes(rstrm, rstrm->fbtbc)) - return (FALSE); + return FALSE; rstrm->fbtbc = 0; if ((! rstrm->last_frag) && (! set_input_fragment(rstrm))) - return (FALSE); + return FALSE; } rstrm->last_frag = FALSE; - return (TRUE); + return TRUE; } /* @@ -425,18 +428,18 @@ bool_t xdrrec_eof(xdrs) XDR *xdrs; { - register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); + register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; while (rstrm->fbtbc > 0 || (! rstrm->last_frag)) { if (! skip_input_bytes(rstrm, rstrm->fbtbc)) - return (TRUE); + return TRUE; rstrm->fbtbc = 0; if ((! rstrm->last_frag) && (! set_input_fragment(rstrm))) - return (TRUE); + return TRUE; } if (rstrm->in_finger == rstrm->in_boundry) - return (TRUE); - return (FALSE); + return TRUE; + return FALSE; } /* @@ -450,21 +453,21 @@ xdrrec_endofrecord(xdrs, sendnow) XDR *xdrs; bool_t sendnow; { - register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); + register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; register u_long len; /* fragment length */ - if (sendnow || rstrm->frag_sent || - ((u_long)rstrm->out_finger + sizeof(u_long) >= - (u_long)rstrm->out_boundry)) { + if (sendnow || rstrm->frag_sent + || rstrm->out_finger + BYTES_PER_XDR_UNIT >= rstrm->out_boundry) + { rstrm->frag_sent = FALSE; - return (flush_out(rstrm, TRUE)); + return flush_out(rstrm, TRUE); } - len = (u_long)(rstrm->out_finger) - (u_long)(rstrm->frag_header) - - sizeof(u_long); - *(rstrm->frag_header) = htonl((u_long)len | LAST_FRAG); - rstrm->frag_header = (u_long *)rstrm->out_finger; - rstrm->out_finger += sizeof(u_long); - return (TRUE); + len = (rstrm->out_finger - (char *) rstrm->frag_header + - BYTES_PER_XDR_UNIT); + *rstrm->frag_header = htonl((u_long)len | LAST_FRAG); + rstrm->frag_header = (u_int32_t *) rstrm->out_finger; + rstrm->out_finger += BYTES_PER_XDR_UNIT; + return TRUE; } @@ -477,17 +480,18 @@ flush_out(rstrm, eor) bool_t eor; { register u_long eormask = (eor == TRUE) ? LAST_FRAG : 0; - register u_long len = (u_long)(rstrm->out_finger) - - (u_long)(rstrm->frag_header) - sizeof(u_long); + register u_long len = (rstrm->out_finger + - (char *) rstrm->frag_header + - BYTES_PER_XDR_UNIT); - *(rstrm->frag_header) = htonl(len | eormask); - len = (u_long)(rstrm->out_finger) - (u_long)(rstrm->out_base); + *rstrm->frag_header = htonl(len | eormask); + len = rstrm->out_finger - rstrm->out_base; if ((*(rstrm->writeit))(rstrm->tcp_handle, rstrm->out_base, (int)len) != (int)len) - return (FALSE); - rstrm->frag_header = (u_long *)rstrm->out_base; - rstrm->out_finger = (caddr_t)rstrm->out_base + sizeof(u_long); - return (TRUE); + return FALSE; + rstrm->frag_header = (u_int32_t *) rstrm->out_base; + rstrm->out_finger = (caddr_t) rstrm->out_base + BYTES_PER_XDR_UNIT; + return TRUE; } static bool_t /* knows nothing about records! Only about input buffers */ @@ -503,11 +507,11 @@ fill_input_buf(rstrm) where += i; len = rstrm->in_size - i; if ((len = (*(rstrm->readit))(rstrm->tcp_handle, where, len)) == -1) - return (FALSE); + return FALSE; rstrm->in_finger = where; where += len; rstrm->in_boundry = where; - return (TRUE); + return TRUE; } static bool_t /* knows nothing about records! Only about input buffers */ @@ -519,10 +523,10 @@ get_input_bytes(rstrm, addr, len) register int current; while (len > 0) { - current = (int)rstrm->in_boundry - (int)rstrm->in_finger; + current = rstrm->in_boundry - rstrm->in_finger; if (current == 0) { if (! fill_input_buf(rstrm)) - return (FALSE); + return FALSE; continue; } current = (len < current) ? len : current; @@ -531,7 +535,7 @@ get_input_bytes(rstrm, addr, len) addr += current; len -= current; } - return (TRUE); + return TRUE; } static bool_t /* next two bytes of the input stream are treated as a header */ @@ -540,12 +544,12 @@ set_input_fragment(rstrm) { u_long header; - if (! get_input_bytes(rstrm, (caddr_t)&header, sizeof(header))) - return (FALSE); - header = (long)ntohl(header); + if (! get_input_bytes(rstrm, (caddr_t)&header, BYTES_PER_XDR_UNIT)) + return FALSE; + header = ntohl(header); rstrm->last_frag = ((header & LAST_FRAG) == 0) ? FALSE : TRUE; - rstrm->fbtbc = header & (~LAST_FRAG); - return (TRUE); + rstrm->fbtbc = header & ~LAST_FRAG; + return TRUE; } static bool_t /* consumes input bytes; knows nothing about records! */ @@ -556,17 +560,17 @@ skip_input_bytes(rstrm, cnt) register int current; while (cnt > 0) { - current = (int)rstrm->in_boundry - (int)rstrm->in_finger; + current = rstrm->in_boundry - rstrm->in_finger; if (current == 0) { if (! fill_input_buf(rstrm)) - return (FALSE); + return FALSE; continue; } current = (cnt < current) ? cnt : current; rstrm->in_finger += current; cnt -= current; } - return (TRUE); + return TRUE; } static u_int @@ -576,5 +580,5 @@ fix_buf_size(s) if (s < 100) s = 4000; - return (RNDUP(s)); + return RNDUP(s); } |