aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-04-28 06:14:43 +0000
committerUlrich Drepper <drepper@redhat.com>2000-04-28 06:14:43 +0000
commita7f91846e95ea8ae3d8298063a4cf2972b5f98b2 (patch)
tree1fca02f50d006172c8249272649004361ba46a2d
parent8651d8a218babc9e9ccc865a68017f12c588ca23 (diff)
downloadglibc-a7f91846e95ea8ae3d8298063a4cf2972b5f98b2.zip
glibc-a7f91846e95ea8ae3d8298063a4cf2972b5f98b2.tar.gz
glibc-a7f91846e95ea8ae3d8298063a4cf2972b5f98b2.tar.bz2
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>.
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLog.925
-rw-r--r--crypt/ChangeLog.old24
-rw-r--r--elf/dl-init.c2
-rw-r--r--wcsmbs/wcrtomb.c12
5 files changed, 40 insertions, 30 deletions
diff --git a/ChangeLog b/ChangeLog
index 7b84796..e7c3bda 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/ChangeLog.9 b/ChangeLog.9
index 7733028..055a8aa 100644
--- a/ChangeLog.9
+++ b/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.
diff --git a/crypt/ChangeLog.old b/crypt/ChangeLog.old
deleted file mode 100644
index 8fba95e..0000000
--- a/crypt/ChangeLog.old
+++ /dev/null
@@ -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.
diff --git a/elf/dl-init.c b/elf/dl-init.c
index dfef83d..683b94b 100644
--- a/elf/dl-init.c
+++ b/elf/dl-init.c
@@ -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;
diff --git a/wcsmbs/wcrtomb.c b/wcsmbs/wcrtomb.c
index 644d26b..7aef505 100644
--- a/wcsmbs/wcrtomb.c
+++ b/wcsmbs/wcrtomb.c
@@ -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;