]> sourceware.org Git - glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 25 Nov 1999 19:27:07 +0000 (19:27 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 25 Nov 1999 19:27:07 +0000 (19:27 +0000)
1999-11-25  H.J. Lu  <hjl@gnu.org>

* stdlib/exit.c (exit): Run funtions only if
__exit_funcs->idx > 0.

1999-11-25  Ulrich Drepper  <drepper@cygnus.com>

* manual/charset.texi (iconv Examples): Add iconv call to flush
state.  Reported by Andrew Clausen <clausen@alphalink.com.au>.

1999-11-25  Andreas Jaeger  <aj@suse.de>

* manual/install.texi (Running make install): Better describe
update from libc5.
Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.

1999-11-25  Andreas Jaeger  <aj@suse.de>

* include/sys/mman.h: Remove K&R compatibility.

1999-11-15  Andreas Jaeger  <aj@suse.de>

* misc/sys/mman.h: Use __REDIRECT for mmap, correct prototype to
use __off64_t.

1999-11-25  Ulrich Drepper  <drepper@cygnus.com>

* iconv/iconv_prog.c (process_block): For stateful charsets write
out byte sequence to get to initial state at the end of the file.

which was reported to not work (which proofed to be wrong).

ChangeLog
iconv/iconv_prog.c
include/sys/mman.h
localedata/ChangeLog
localedata/Makefile
manual/charset.texi
manual/install.texi
misc/sys/mman.h
stdlib/exit.c

index 22534075816a68c489495077d6ffe247cc2ad3d6..0bd8ce7a6095b2b3a7ef93eef5de7955949b86a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+1999-11-25  H.J. Lu  <hjl@gnu.org>
+
+       * stdlib/exit.c (exit): Run funtions only if
+       __exit_funcs->idx > 0.
+
+1999-11-25  Ulrich Drepper  <drepper@cygnus.com>
+
+       * manual/charset.texi (iconv Examples): Add iconv call to flush
+       state.  Reported by Andrew Clausen <clausen@alphalink.com.au>.
+
+1999-11-25  Andreas Jaeger  <aj@suse.de>
+
+       * manual/install.texi (Running make install): Better describe
+       update from libc5.
+       Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.
+
+1999-11-25  Andreas Jaeger  <aj@suse.de>
+
+       * include/sys/mman.h: Remove K&R compatibility.
+
+1999-11-15  Andreas Jaeger  <aj@suse.de>
+
+       * misc/sys/mman.h: Use __REDIRECT for mmap, correct prototype to
+       use __off64_t.
+
+1999-11-25  Ulrich Drepper  <drepper@cygnus.com>
+
+       * iconv/iconv_prog.c (process_block): For stateful charsets write
+       out byte sequence to get to initial state at the end of the file.
+
 1999-11-25  Andreas Schwab  <schwab@suse.de>
 
        * Makeconfig: Include sys-dirs and sys-sorted earlier.
@@ -21,8 +51,7 @@
        * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_IEEE802_TR): Added.
 
        * string/stratcliff.c: Add one more strchr test for something
-       which was reported to not work
-       (which proofed to be wrong).
+       which was reported to not work (which proofed to be wrong).
 
        * iconv/skeleton.c: It's __is_last, not is_last.
 
index efa9e244114a8e9e51f1517c3abf19e9626285c1..0144ac40eef4bcd8e6e67b66abea575cad1d732a 100644 (file)
@@ -338,8 +338,32 @@ conversion stopped due to problem in writing the output"));
        }
 
       if (n != (size_t) -1)
-       /* Everything is processed.  */
-       break;
+       {
+         /* All the input test is processed.  For state-dependent
+             character sets we have to flush the state now.  */
+         outptr = outbuf;
+         outlen = OUTBUF_SIZE;
+         n = iconv (cd, NULL, NULL, &outptr, &outlen);
+
+         if (outptr != outbuf)
+           {
+             /* We have something to write out.  */
+             int errno_save = errno;
+
+             if (fwrite (outbuf, 1, outptr - outbuf, output) < outptr - outbuf
+                 || ferror (output))
+               {
+                 /* Error occurred while printing the result.  */
+                 error (0, 0, _("\
+conversion stopped due to problem in writing the output"));
+                 return -1;
+               }
+
+             errno = errno_save;
+           }
+
+         break;
+       }
 
       if (errno != E2BIG)
        {
index a76c23688fca98e9bcbbe0d8fa50708981c04e67..14e757892ec72f5542ec0e2742dbb72f0f5d1f81 100644 (file)
@@ -3,13 +3,13 @@
 
 /* Now define the internal interfaces.  */
 extern void *__mmap (void *__addr, size_t __len, int __prot,
-                    int __flags, int __fd, __off_t __offset) __THROW;
+                    int __flags, int __fd, __off_t __offset);
 extern void *__mmap64 (void *__addr, size_t __len, int __prot,
-                      int __flags, int __fd, __off64_t __offset) __THROW;
-extern int __munmap (void *__addr, size_t __len) __THROW;
-extern int __mprotect (void *__addr, size_t __len, int __prot) __THROW;
+                      int __flags, int __fd, __off64_t __offset);
+extern int __munmap (void *__addr, size_t __len);
+extern int __mprotect (void *__addr, size_t __len, int __prot);
 
 /* This one is Linux specific.  */
 extern void *__mremap (void *__addr, size_t __old_len,
-                      size_t __new_len, int __may_move) __THROW;
+                      size_t __new_len, int __may_move);
 #endif
index 4359b31d89fd061c99f06a0c9e0ce850ce4f197e..2d29f4035e97eedab0b51b173fc8a44e47091b74 100644 (file)
@@ -1,3 +1,7 @@
+1999-11-25  Ulrich Drepper  <drepper@cygnus.com>
+
+       * Makefile: Don't run tests for now.
+
 1999-11-23  Ulrich Drepper  <drepper@cygnus.com>
 
        * locales/ko_KR: New file.
index 6433e374eaf6cd9ecebe2abddce0d43d4ea5fcb5..118972398860cdc8c90d7c5fb9016a3068014265 100644 (file)
@@ -72,7 +72,7 @@ $(inst_i18ndir)/repertoiremaps/%: repertoiremaps/% $(+force); $(do-install)
 ifeq (no,$(cross-compiling))
 ifeq (yes,$(build-shared))
 .PHONY: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans
-tests: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans
+#tests: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans
 do-collate-test: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \
                 $(test-input-data)
        $(SHELL) -e $< $(common-objpfx) $(test-input)
index 7a5237edfb6bdc52b5f31a847e255fdfe1b596fd..76b189f5fcbe28c4efe64b1997a134ab7c881b7d 100644 (file)
@@ -1837,6 +1837,11 @@ file2wcs (int fd, const char *charset, wchar_t *outbuf, size_t avail)
              @r{characters in the @code{inbuf}.  Put them back.}  */
           if (lseek (fd, -insize, SEEK_CUR) == -1)
             result = -1;
+
+          /* @r{Now write out the byte sequence to get into the}
+             @r{initial state if this is necessary.}  */
+          iconv (cd, NULL, NULL, &wrptr, &avail);
+
           break;
         @}
       insize += nread;
@@ -1867,7 +1872,8 @@ file2wcs (int fd, const char *charset, wchar_t *outbuf, size_t avail)
     @}
 
   /* @r{Terminate the output string.}  */
-  *((wchar_t *) wrptr) = L'\0';
+  if (avail >= sizeof (wchar_t))
+    *((wchar_t *) wrptr) = L'\0';
 
   if (iconv_close (cd) != 0)
     perror ("iconv_close");
index 992203a0564a6e96d16876e74022205124bfd56d..3f98b270aa37ba553e4c9e32a9ebec531bd61e9f 100644 (file)
@@ -232,18 +232,29 @@ shut the system down to single-user mode first, and reboot afterward.
 This minimizes the risk of breaking things when the library changes out
 from underneath.
 
+If you're upgrading from Linux libc5 or some other C library, you need to
+replace the @file{/usr/include} with a fresh directory before installing it.
+The new @file{/usr/include} should contain the Linux headers, but nothing else.  
+
+You must first build the library (@samp{make}), optionally check it
+(@samp{make check}), switch the include directories and then install
+(@samp{make install}).  The steps must be done in this order.  Not moving
+the directory before install will result in an unusable mixture of header
+files from both libraries, but configuring, building, and checking the
+library requires the ability to compile and run programs against the old
+library. 
+
 If you are upgrading from a previous installation of glibc 2.0 or 2.1,
-@samp{make install} will do the entire job.  If you're upgrading from
-Linux libc5 or some other C library, you need to rename the old
-@file{/usr/include} directory before running @samp{make install},
-or you will end up with a mixture of header files from both
-libraries, and you won't be able to compile anything.  You may also need
-to reconfigure GCC to work with the new library.  The easiest way to do
-that is to figure out the compiler switches to make it work again
-(@samp{-Wl,--dynamic-linker=/lib/ld-linux.so.2} should work on Linux
-systems) and use them to recompile gcc.  You can also edit the specs
-file (@file{/usr/lib/gcc-lib/@var{TARGET}/@var{VERSION}/specs}), but
-that is a bit of a black art.
+@samp{make install} will do the entire job.  You do not need to remove 
+the old includes -- if you want to do so anyway you must then follow the 
+order given above.
+
+You may also need to reconfigure GCC to work with the new library.  The
+easiest way to do that is to figure out the compiler switches to make it
+work again (@samp{-Wl,--dynamic-linker=/lib/ld-linux.so.2} should work on
+Linux systems) and use them to recompile gcc.  You can also edit the specs
+file (@file{/usr/lib/gcc-lib/@var{TARGET}/@var{VERSION}/specs}), but that
+is a bit of a black art. 
 
 You can install glibc somewhere other than where you configured it to go
 by setting the @code{install_root} variable on the command line for
index cddb4510812e28b0a89d954a234aadb07f19a399..a39639c9954be0331e15db1566bd6d27aeacf3cb 100644 (file)
@@ -44,9 +44,14 @@ __BEGIN_DECLS
 extern void *mmap (void *__addr, size_t __len, int __prot,
                   int __flags, int __fd, __off_t __offset) __THROW;
 #else
-extern void *mmap (void *__addr, size_t __len, int __prot,
-                  int __flags, int __fd, __off_t __offset) __THROW
-     __asm__ ("mmap64");
+# ifdef __REDIRECT
+extern void * __REDIRECT (mmap,
+                         (void *__addr, size_t __len, int __prot,
+                          int __flags, int __fd, __off64_t __offset) __THROW,
+                         mmap64);
+# else
+#  define mmap mmap64
+# endif
 #endif
 #ifdef __USE_LARGEFILE64
 extern void *mmap64 (void *__addr, size_t __len, int __prot,
index f44c519aa75080a9cd083ba46972b4b402a4ff24..f63dc1fdec7fde6d05f991e6ae21c0ed958b9c60 100644 (file)
@@ -41,7 +41,7 @@ exit (int status)
     {
       struct exit_function_list *old;
 
-      do
+      while (__exit_funcs->idx > 0)
        {
          const struct exit_function *const f =
            &__exit_funcs->fns[--__exit_funcs->idx];
@@ -58,7 +58,6 @@ exit (int status)
              break;
            }
        }
-      while (__exit_funcs->idx > 0);
 
       old = __exit_funcs;
       __exit_funcs = __exit_funcs->next;
This page took 0.058986 seconds and 5 git commands to generate.