Update.
* wcsmbs/wcrtomb.c (__wcrtomb): Set end of buffer correctly if s == NULL. Little optimization. * elf/dl-init.c (_dl_init): Correct typo (DT_PREINIT_ARRAY not DT_PREINIT_ARRAYSZ). Reported by Jes Sorensen <Jes.Sorensen@cern.ch>.
This commit is contained in:
parent
8651d8a218
commit
a7f91846e9
@ -1,5 +1,12 @@
|
||||
2000-04-27 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* wcsmbs/wcrtomb.c (__wcrtomb): Set end of buffer correctly if s
|
||||
== NULL. Little optimization.
|
||||
|
||||
* elf/dl-init.c (_dl_init): Correct typo (DT_PREINIT_ARRAY not
|
||||
DT_PREINIT_ARRAYSZ).
|
||||
Reported by Jes Sorensen <Jes.Sorensen@cern.ch>.
|
||||
|
||||
* hesiod/nss_hesiod/hesiod-grp.c (_nss_hesiod_initgroups): Handle
|
||||
overflows in conversion from ASCII.
|
||||
|
||||
|
25
ChangeLog.9
25
ChangeLog.9
@ -1261,6 +1261,13 @@
|
||||
* sysdeps/generic/statvfs64.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/statvfs64.c: Likewise.
|
||||
|
||||
1998-12-25 Geoff Keating <geoffk@ozemail.com.au>
|
||||
|
||||
* crypt/sysdeps/unix/ufc-crypt.h: Use <stdint.h>.
|
||||
|
||||
* crypt/configure: Delete the code dealing with building the add-on
|
||||
outside glibc, as this doesn't work.
|
||||
|
||||
1998-12-25 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* elf/dl-hash.h: Move to...
|
||||
@ -1681,6 +1688,24 @@
|
||||
* po/es.po: Update from translation team.
|
||||
* po/fr.po: Likewise.
|
||||
|
||||
1998-12-10 Geoff Keating <geoffk@ozemail.com.au>
|
||||
|
||||
* crypt/sysdeps/unix/crypt-entry.c: Don't include "patchlevel.h".
|
||||
|
||||
* crypt/sysdeps/unix/crypt.h: Move __crypt_r, __setkey_r,
|
||||
__encrypt_r to...
|
||||
* crypt/sysdeps/unix/crypt-private.h: ...here.
|
||||
|
||||
* crypt/sysdeps/unix/crypt.h: Add __restrict to the structure
|
||||
parameters.
|
||||
* crypt/sysdeps/unix/crypt-private.h: Likewise. Also add const to
|
||||
first parameter of _ufc_mk_keytab_r.
|
||||
* crypt/sysdeps/unix/crypt.c: Update prototypes.
|
||||
* crypt/sysdeps/unix/crypt-entry.c: Likewise.
|
||||
* crypt/sysdeps/unix/crypt_util.c: Likewise.
|
||||
|
||||
* crypt/sysdeps/unix/crypt-entry.c (crypt): Use __crypt_r not crypt_r.
|
||||
|
||||
1998-12-10 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
|
||||
|
||||
* nis/nss_compat/compat-pwd.c: Fix handling of +/- entries.
|
||||
|
@ -1,24 +0,0 @@
|
||||
1998-12-25 Geoff Keating <geoffk@ozemail.com.au>
|
||||
|
||||
* sysdeps/unix/ufc-crypt.h: Use <stdint.h>.
|
||||
|
||||
* configure: Delete the code dealing with building the add-on
|
||||
outside glibc, as this doesn't work.
|
||||
|
||||
1998-12-10 Geoff Keating <geoffk@ozemail.com.au>
|
||||
|
||||
* sysdeps/unix/crypt-entry.c: Don't include "patchlevel.h".
|
||||
|
||||
* sysdeps/unix/crypt.h: Move __crypt_r, __setkey_r, __encrypt_r to...
|
||||
* sysdeps/unix/crypt-private.h: ...here.
|
||||
|
||||
* sysdeps/unix/crypt.h: Add __restrict to the structure parameters.
|
||||
* sysdeps/unix/crypt-private.h: Likewise. Also add const to
|
||||
first parameter of _ufc_mk_keytab_r.
|
||||
* sysdeps/unix/crypt.c: Update prototypes.
|
||||
* sysdeps/unix/crypt-entry.c: Likewise.
|
||||
* sysdeps/unix/crypt_util.c: Likewise.
|
||||
|
||||
* sysdeps/unix/crypt-entry.c (crypt): Use __crypt_r not crypt_r.
|
||||
|
||||
ChangeLog starts here, with version 2.0.96.
|
@ -32,7 +32,7 @@ void
|
||||
internal_function
|
||||
_dl_init (struct link_map *main_map, int argc, char **argv, char **env)
|
||||
{
|
||||
ElfW(Dyn) *preinit_array = main_map->l_info[DT_PREINIT_ARRAYSZ];
|
||||
ElfW(Dyn) *preinit_array = main_map->l_info[DT_PREINIT_ARRAY];
|
||||
struct r_debug *r;
|
||||
unsigned int i;
|
||||
|
||||
|
@ -43,9 +43,7 @@ __wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
|
||||
size_t result;
|
||||
size_t dummy;
|
||||
|
||||
/* Tell where we want the result. */
|
||||
data.__outbuf = s;
|
||||
data.__outbufend = s + MB_CUR_MAX;
|
||||
/* Set information for this step. */
|
||||
data.__invocation_counter = 0;
|
||||
data.__internal_use = 1;
|
||||
data.__is_last = 1;
|
||||
@ -55,12 +53,16 @@ __wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
|
||||
initial state. */
|
||||
if (s == NULL)
|
||||
{
|
||||
data.__outbuf = buf;
|
||||
s = buf;
|
||||
wc = L'\0';
|
||||
temp_state = *data.__statep;
|
||||
data.__statep = &temp_state;
|
||||
}
|
||||
|
||||
/* Tell where we want to have the result. */
|
||||
data.__outbuf = s;
|
||||
data.__outbufend = s + MB_CUR_MAX;
|
||||
|
||||
/* Make sure we use the correct function. */
|
||||
update_conversion_ptrs ();
|
||||
|
||||
@ -98,7 +100,7 @@ __wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
|
||||
|
||||
if (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
|
||||
|| status == __GCONV_FULL_OUTPUT)
|
||||
result = data.__outbuf - (unsigned char *) (s ?: buf);
|
||||
result = data.__outbuf - (unsigned char *) s;
|
||||
else
|
||||
{
|
||||
result = (size_t) -1;
|
||||
|
Loading…
Reference in New Issue
Block a user