(__gconv_translit_find): Update open_count.
authordrepper <drepper>
Tue, 5 Sep 2000 01:46:52 +0000 (01:46 +0000)
committerdrepper <drepper>
Tue, 5 Sep 2000 01:46:52 +0000 (01:46 +0000)
Set fname to NULL if the module wasn't found.
(__gconv_translit_find): Don't set need_so to
true if trans->name already ends in ".so".

iconv/gconv_trans.c

index 8c658b1..4a42a35 100644 (file)
@@ -330,6 +330,7 @@ __gconv_translit_find (struct trans_struct *trans)
            {
              /* Copy the data.  */
              *trans = (*found)->info;
+             (*found)->open_count++;
              res = 0;
            }
        }
@@ -345,7 +346,7 @@ __gconv_translit_find (struct trans_struct *trans)
        __gconv_get_path ();
 
       /* See whether we have to append .so.  */
-      if (name_len <= 3 || memcmp (&trans->name[name_len - 3], ".so", 3) != 0)
+      if (name_len <= 4 || memcmp (&trans->name[name_len - 4], ".so", 3) != 0)
        need_so = 1;
 
       /* Create a new entry.  */
@@ -366,7 +367,7 @@ __gconv_translit_find (struct trans_struct *trans)
 
          newp->fname = cp;
 
-         /* Seach in all the directories.  */
+         /* Search in all the directories.  */
          for (runp = __gconv_path_elem; runp->name != NULL; ++runp)
            {
              cp = __mempcpy (__stpcpy ((char *) newp->fname, runp->name),
@@ -382,6 +383,9 @@ __gconv_translit_find (struct trans_struct *trans)
                }
            }
 
+         if (res)
+           newp->fname = NULL;
+
          /* In any case we'll add the entry to our search tree.  */
          if (__tsearch (newp, &search_tree, trans_compare) == NULL)
            {