about summary refs log tree commit diff
path: root/iconv
diff options
context:
space:
mode:
Diffstat (limited to 'iconv')
-rw-r--r--iconv/Makefile3
-rw-r--r--iconv/gconv_db.c10
-rw-r--r--iconv/iconv_prog.c6
3 files changed, 12 insertions, 7 deletions
diff --git a/iconv/Makefile b/iconv/Makefile
index 8b4f605e5b..431100d7da 100644
--- a/iconv/Makefile
+++ b/iconv/Makefile
@@ -37,12 +37,11 @@ endif
 distribute	= gconv_builtin.h gconv_int.h loop.c skeleton.c
 
 others		= iconv_prog
+install-others	= $(inst_bindir)/iconv
 
 CFLAGS-gconv_conf.c = -DGCONV_PATH='"$(gconvdir)"'
 
 include ../Rules
 
-subdir_install: $(inst_bindir)/iconv
-
 $(inst_bindir)/iconv: $(objpfx)iconv_prog $(+force)
 	$(do-install-program)
diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c
index 11914547c7..e6253b8380 100644
--- a/iconv/gconv_db.c
+++ b/iconv/gconv_db.c
@@ -294,7 +294,10 @@ find_derivation (const char *toset, const char *toset_expand,
   result = derivation_lookup (fromset_expand ?: fromset, toset_expand ?: toset,
 			      handle, nsteps);
   if (result == GCONV_OK)
-    return result;
+    {
+      __libc_lock_unlock (lock);
+      return result;
+    }
 
   /* ### TODO
      For now we use a simple algorithm with quadratic runtime behaviour.
@@ -527,7 +530,10 @@ __gconv_find_transform (const char *toset, const char *fromset,
 
   /* If we don't have a module database return with an error.  */
   if (__gconv_modules_db == NULL)
-    return GCONV_NOCONV;
+    {
+      __libc_lock_unlock (lock);
+      return GCONV_NOCONV;
+    }
 
   /* See whether the names are aliases.  */
   if (__gconv_alias_db != NULL)
diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c
index 7dd0f3422c..8f05d57a18 100644
--- a/iconv/iconv_prog.c
+++ b/iconv/iconv_prog.c
@@ -1,5 +1,5 @@
 /* Convert text in given files from the specified from-set to the to-set.
-   Copyright (C) 1998 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -295,7 +295,7 @@ print_version (FILE *stream, struct argp_state *state)
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "1998");
+"), "1999");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 
@@ -319,7 +319,7 @@ process_block (iconv_t cd, const char *addr, size_t len, FILE *output)
       if (outptr != outbuf)
 	{
 	  /* We have something to write out.  */
-	  if (fwrite (outbuf, 1, outptr - outbuf, output)  < outptr - outbuf
+	  if (fwrite (outbuf, 1, outptr - outbuf, output) < outptr - outbuf
 	      || ferror (output))
 	    {
 	      /* Error occurred while printing the result.  */