diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-12-18 19:45:25 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-12-18 19:45:25 +0000 |
commit | b85697f61d8aeeaeb8b91d50ab2c668b7fcbbd8a (patch) | |
tree | 6aec765390be55804ecbe7c1bde6c79dda2e1dc2 /nis/nss_compat | |
parent | 440a52ea7b427b7a5668c77283825cae20d7fc3c (diff) | |
download | glibc-b85697f61d8aeeaeb8b91d50ab2c668b7fcbbd8a.tar glibc-b85697f61d8aeeaeb8b91d50ab2c668b7fcbbd8a.tar.gz glibc-b85697f61d8aeeaeb8b91d50ab2c668b7fcbbd8a.tar.bz2 glibc-b85697f61d8aeeaeb8b91d50ab2c668b7fcbbd8a.zip |
Update.
1999-12-17 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h (__strtok_r_1c): Help gcc optimizing string
access.
* locale/programs/ld-collate.c: Implement handling of absolute
ellipsis. Parsing of file and constructing the internal data
structures should now be complete.
(collate_finish): Start adding support to generate the data
structures which are written out to the file.
* intl/dcgettext.c: Rewrite to handle caching of previous results here
instead of in the dcgettext macro.
* intl/libintl.h (dcgettext): Don't define for systems using this
glibc or systems with tsearch.
* sysdeps/generic/mathdef.h: Protect definitions for math.h
against double inclusion.
* sysdeps/alpha/fpu/bits/mathdef.h: Likewise.
* sysdeps/i386/fpu/bits/mathdef.h: Likewise.
* sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
* sysdeps/powerpc/fpu/bits/mathdef.h: Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Add more deltas (are mobile PIIs
that different?).
1999-12-17 Andreas Jaeger <aj@suse.de>
* rt/aio.h (struct aiocb64): Add member __next_prio to sync the
struct with aiocb.
* rt/Makefile (tests): Added tst-aio64.
Added dependency rules for tst-aio64.
* rt/tst-aio64.c: New file, copied from tst-aio.c and changed for
64bit tests.
1999-12-15 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/unix/sysv/linux/alpha/oldgetrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/oldsetrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/bits/resource.h: Change RLIM_INFINITY back to
old value (signed long).
* sysdeps/unix/sysv/linux/i386/bits/resource.h: New, with unsigned
long RLIM_INFINITY.
* sysdeps/unix/sysv/linux/getrlimit.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/getrlimit.c: ... here.
* sysdeps/unix/sysv/linux/getrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/getrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/oldgetrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/oldsetrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/oldsetrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/setrlimit.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/setrlimit.c: ... here.
* sysdeps/unix/sysv/linux/setrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/setrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/sparc/bits/resource.h: New.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldgetrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldsetrlimit64.c: Removed.
1999-12-17 Andreas Jaeger <aj@suse.de>
* elf/ldconfig.c: Add new option -l to manualy link shared
libraries.
(options): Added option.
(parse_opt): Set option.
(main): Handle option.
(manual_link): New function.
1999-12-17 Thorsten Kukuk <kukuk@suse.de>
* string/bits/string2.h: Fix patch from 1999-12-07.
1999-12-16 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/strsep.c: If delim string has only one character
don't run over end of string.
* locale/programs/ld-collate.c (insert_weights): Also update next
pointer of last cursor element.
(insert_value): Return nonzero value if nothing got inserted.
(handle_ellipsis): Don't do anything if to-value cannot be inserted.
1999-12-10 Jakub Jelinek <jakub@redhat.com>
* stdlib/longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT
where appropriate.
1999-12-10 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction):
Copy sa_flags into kernel sigaction structure.
1999-12-14 Andreas Jaeger <aj@suse.de>
* string/tester.c (test_strsep): More tests for access beyond
the final NUL. The first two tests come from PR libc/1486 by
martinea@iro.umontreal.ca.
1999-12-14 Thorsten Kukuk <kukuk@suse.de>
* nis/ypclnt.c: Correct handling of cached client handles.
(__xdr_ypresp_all): Call callback function for errors, too,
like Solaris does.
* nis/nss_compat/compat-grp.c: Make sure errno is always set correct.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nis/nis-alias.c: Likewise.
* nis/nss_nis/nis-ethers.c: Likewise.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-netgrp.c: Likewise.
* nis/nss_nis/nis-publickey.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise. Also use services.byservicename
Map if available, optimize query if name/port and protocol is known.
Diffstat (limited to 'nis/nss_compat')
-rw-r--r-- | nis/nss_compat/compat-grp.c | 12 | ||||
-rw-r--r-- | nis/nss_compat/compat-initgroups.c | 6 | ||||
-rw-r--r-- | nis/nss_compat/compat-spwd.c | 23 |
3 files changed, 32 insertions, 9 deletions
diff --git a/nis/nss_compat/compat-grp.c b/nis/nss_compat/compat-grp.c index ac56f6fbec..2de46088df 100644 --- a/nis/nss_compat/compat-grp.c +++ b/nis/nss_compat/compat-grp.c @@ -1,6 +1,6 @@ /* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -730,7 +730,10 @@ _nss_compat_getgrnam_r (const char *name, struct group *grp, enum nss_status status; if (name[0] == '-' || name[0] == '+') - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } __libc_lock_lock (lock); @@ -915,7 +918,10 @@ internal_getgrgid_r (gid_t gid, struct group *result, ent_t *ent, status = getgrgid_plusgroup (gid, result, buffer, buflen, errnop); if (status == NSS_STATUS_RETURN) /* We couldn't parse the entry */ - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else return status; } diff --git a/nis/nss_compat/compat-initgroups.c b/nis/nss_compat/compat-initgroups.c index 47b395ede6..d4c3422bd4 100644 --- a/nis/nss_compat/compat-initgroups.c +++ b/nis/nss_compat/compat-initgroups.c @@ -263,6 +263,7 @@ getgrent_next_nis (struct group *result, ent_t *ent, char *buffer, if (yp_get_default_domain (&domain) != YPERR_SUCCESS) { ent->nis = 0; + *errnop = ENOENT; return NSS_STATUS_NOTFOUND; } @@ -445,7 +446,10 @@ getgrnam_plusgroup (const char *name, struct group *result, char *buffer, ++p; parse_res = _nss_files_parse_grent (p, result, data, buflen, errnop); if (parse_res == -1) - return NSS_STATUS_TRYAGAIN; + { + *errnop = ERANGE; + return NSS_STATUS_TRYAGAIN; + } } if (parse_res) diff --git a/nis/nss_compat/compat-spwd.c b/nis/nss_compat/compat-spwd.c index 1290346881..f254fadf5c 100644 --- a/nis/nss_compat/compat-spwd.c +++ b/nis/nss_compat/compat-spwd.c @@ -383,6 +383,7 @@ getspent_next_nis_netgr (const char *name, struct spwd *result, ent_t *ent, if (parse_res == -1) { ent->netgrdata.cursor = saved_cursor; + *errnop = ERANGE; return NSS_STATUS_TRYAGAIN; } @@ -1112,7 +1113,10 @@ internal_getspnam_r (const char *name, struct spwd *result, ent_t *ent, && result->sp_namp[1] != '@') { if (strcmp (&result->sp_namp[1], name) == 0) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else continue; } @@ -1128,8 +1132,11 @@ internal_getspnam_r (const char *name, struct spwd *result, ent_t *ent, status = getspnam_plususer (name, result, buffer, buflen, errnop); if (status == NSS_STATUS_RETURN) - /* We couldn't parse the entry */ - return NSS_STATUS_NOTFOUND; + { + /* We couldn't parse the entry */ + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else return status; } @@ -1142,7 +1149,10 @@ internal_getspnam_r (const char *name, struct spwd *result, ent_t *ent, status = getspnam_plususer (name, result, buffer, buflen, errnop); if (status == NSS_STATUS_RETURN) /* We couldn't parse the entry */ - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else return status; } @@ -1159,7 +1169,10 @@ _nss_compat_getspnam_r (const char *name, struct spwd *pwd, enum nss_status status; if (name[0] == '-' || name[0] == '+') - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (ni == NULL) { |