From c8e5702127e507e82e6f68a4b8c546803accea9d Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 30 Jun 2005 08:19:37 +0000 Subject: import clean BK tree at cset 1.3670 --- .../glibc/glibc-2.3.2/glibc22-nss-upgrade.patch | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch') diff --git a/packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch b/packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch index e69de29bb2..569ab96461 100644 --- a/packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch +++ b/packages/glibc/glibc-2.3.2/glibc22-nss-upgrade.patch @@ -0,0 +1,26 @@ +--- glibc22/nss/nsswitch.c~ Fri Mar 31 15:38:32 2000 ++++ glibc22/nss/nsswitch.c Thu Nov 9 17:28:45 2000 +@@ -333,9 +333,20 @@ + ni->library->lib_handle = __libc_dlopen (shlib_name); + if (ni->library->lib_handle == NULL) + { +- /* Failed to load the library. */ +- ni->library->lib_handle = (void *) -1l; +- __set_errno (saved_errno); ++ /* Failed to load the library. Try a fallback. */ ++ int n = __snprintf(shlib_name, shlen, "libnss_%s.so.%d.%d", ++ ni->library->name, __GLIBC__, __GLIBC_MINOR__); ++ if (n >= shlen) ++ ni->library->lib_handle = NULL; ++ else ++ ni->library->lib_handle = __libc_dlopen (shlib_name); ++ ++ if (ni->library->lib_handle == NULL) ++ { ++ /* Ok, really fail now. */ ++ ni->library->lib_handle = (void *) -1l; ++ __set_errno (saved_errno); ++ } + } + } + -- cgit v1.2.3