about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--iconv/gconv_db.c3
2 files changed, 5 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0345099787..7a5c5966c0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 1999-04-15  Ulrich Drepper  <drepper@cygnus.com>
 
+	* iconv/gconv_db.c (__gconv_find_transform): If conversion is
+	known to not exist don't try to load shared objects.
+	Patch by Petr Vandrovec Ing. VTEI <VANDROVE@vc.cvut.cz>.
+
 	* nscd/cache.c (prune_cache): The table might not be unused.  In
 	this case do nothing.
 
diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c
index 70cdaffbe1..fdc3064d5c 100644
--- a/iconv/gconv_db.c
+++ b/iconv/gconv_db.c
@@ -655,7 +655,7 @@ __gconv_find_transform (const char *toset, const char *fromset,
       size_t cnt = *nsteps;
       struct gconv_step *steps = *handle;
 
-      do
+      while (cnt > 0)
 	if (steps[--cnt].counter++ == 0)
 	  {
 	    steps[cnt].shlib_handle =
@@ -670,7 +670,6 @@ __gconv_find_transform (const char *toset, const char *fromset,
 		break;
 	      }
 	  }
-      while (cnt > 0);
     }
 #endif