about summary refs log tree commit diff
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.tar.gz
glibc-a7f91846e95ea8ae3d8298063a4cf2972b5f98b2.tar.xz
glibc-a7f91846e95ea8ae3d8298063a4cf2972b5f98b2.zip
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 7b8479673c..e7c3bda0ba 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 77330289fb..055a8aa746 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 8fba95e7f8..0000000000
--- 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 dfef83dd6f..683b94b9c7 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 644d26bbc8..7aef505ef3 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;