mirror of git://sourceware.org/git/glibc.git
Update.
1998-08-10 Ulrich Drepper <drepper@cygnus.com> * nss/nss_db/db-XXX.c (_nss_db_getXXX): If buffer is too small decrement `entidx' to allow retrieving the same entry again.
This commit is contained in:
parent
cdb47f096a
commit
0e94359046
|
|
@ -1,3 +1,8 @@
|
||||||
|
1998-08-10 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* nss/nss_db/db-XXX.c (_nss_db_getXXX): If buffer is too small
|
||||||
|
decrement `entidx' to allow retrieving the same entry again.
|
||||||
|
|
||||||
1998-08-09 22:32 Ulrich Drepper <drepper@cygnus.com>
|
1998-08-09 22:32 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
* sysdeps/powerpc/ffs.c: Fix typo. Add support for ffsl.
|
* sysdeps/powerpc/ffs.c: Fix typo. Add support for ffsl.
|
||||||
|
|
|
||||||
|
|
@ -282,6 +282,14 @@ CONCAT(_nss_db_get,ENTNAME_r) (struct STRUCTURE *result, char *buffer,
|
||||||
{
|
{
|
||||||
key.size = snprintf (key.data = buf, sizeof buf, "0%u", entidx++);
|
key.size = snprintf (key.data = buf, sizeof buf, "0%u", entidx++);
|
||||||
status = lookup (&key, result, buffer, buflen, errnop H_ERRNO_ARG);
|
status = lookup (&key, result, buffer, buflen, errnop H_ERRNO_ARG);
|
||||||
|
if (status == NSS_STATUS_TRYAGAIN
|
||||||
|
#ifdef NEED_H_ERRNO
|
||||||
|
&& *herrnop == NETDB_INTERNAL
|
||||||
|
#endif
|
||||||
|
&& *errnop == ERANGE)
|
||||||
|
/* Give the user a chance to get the same entry with a larger
|
||||||
|
buffer. */
|
||||||
|
--entidx;
|
||||||
}
|
}
|
||||||
while (status == NSS_STATUS_RETURN);
|
while (status == NSS_STATUS_RETURN);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue