From c2fa5b5a4f4d2f0f71918f4cd8b5b67a26d4b72c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 9 Jul 1999 20:58:54 +0000 Subject: Update. 1999-07-09 Cristian Gafton * nscd/nscd_gethst_r.c (nscd_gethst_r): Make sure resultbuf->h_addr_list addresses are correctly aligned. * sysdeps/i386/bits/string.h (__memcpy_c): Help some stupid old compilers. (__memset_cc): Likewise. --- nss/getXXbyYY_r.c | 27 +++++++++++++++++++++++++++ nss/getXXent_r.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) (limited to 'nss') diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c index ac10f4e..a54ae67 100644 --- a/nss/getXXbyYY_r.c +++ b/nss/getXXbyYY_r.c @@ -208,5 +208,32 @@ done: return status == NSS_STATUS_SUCCESS ? 0 : errno; } +#if defined SHARED && DO_VERSIONING +#define OLD(name) OLD1 (name) +#define OLD1(name) __old_##name + +int +OLD (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer, + size_t buflen, LOOKUP_TYPE **result H_ERRNO_PARM) +{ + int ret = INTERNAL (REENTRANT_NAME) (ADD_VARIABLES, resbuf, buffer, + buflen, result H_ERRNO_VAR); + + if (ret != 0) + ret = -1; + + return ret; +} + +#define do_symbol_version(real, name, version) \ + symbol_version(real, name, version) +do_symbol_version(OLD (REENTRANT_NAME), REENTRANT_NAME, GLIBC_2.0); + +#define do_default_symbol_version(real, name, version) \ + default_symbol_version(real, name, version) +do_default_symbol_version(INTERNAL (REENTRANT_NAME), REENTRANT_NAME, + GLIBC_2.1.2); +#else #define do_weak_alias(n1, n2) weak_alias (n1, (n2)) do_weak_alias (INTERNAL (REENTRANT_NAME), REENTRANT_NAME) +#endif diff --git a/nss/getXXent_r.c b/nss/getXXent_r.c index 57bb99f..6f6f22a 100644 --- a/nss/getXXent_r.c +++ b/nss/getXXent_r.c @@ -290,5 +290,33 @@ INTERNAL (REENTRANT_GETNAME) (LOOKUP_TYPE *resbuf, char *buffer, size_t buflen, *result = status == NSS_STATUS_SUCCESS ? resbuf : NULL; return status == NSS_STATUS_SUCCESS ? 0 : errno; } +#if defined SHARED && DO_VERSIONING +#define OLD(name) OLD1 (name) +#define OLD1(name) __old_##name + +int +OLD (REENTRANT_GETNAME) (LOOKUP_TYPE *resbuf, char *buffer, size_t buflen, + LOOKUP_TYPE **result H_ERRNO_PARM) +{ + int ret = INTERNAL (REENTRANT_GETNAME) (resbuf, buffer, buflen, + result H_ERRNO_VAR); + + if (ret != 0) + ret = -1; + + return ret; +} + +#define do_symbol_version(real, name, version) \ + symbol_version(real, name, version) +do_symbol_version(OLD (REENTRANT_GETNAME), REENTRANT_GETNAME, + GLIBC_2.0); + +#define do_default_symbol_version(real, name, version) \ + default_symbol_version(real, name, version) +do_default_symbol_version(INTERNAL (REENTRANT_GETNAME), + REENTRANT_GETNAME, GLIBC_2.1.2); +#else #define do_weak_alias(n1, n2) weak_alias (n1, n2) do_weak_alias (INTERNAL (REENTRANT_GETNAME), REENTRANT_GETNAME) +#endif -- cgit v1.1