about summary refs log tree commit diff
path: root/iconv
diff options
context:
space:
mode:
Diffstat (limited to 'iconv')
-rw-r--r--iconv/gconv_db.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c
index 0caf310b91..50cedd6256 100644
--- a/iconv/gconv_db.c
+++ b/iconv/gconv_db.c
@@ -305,6 +305,15 @@ increment_counter (struct __gconv_step *steps, size_t nsteps)
 	    result = __GCONV_NOCONV;
 	    break;
 	  }
+
+	steps[cnt].__init_fct = steps[cnt].__shlib_handle->init_fct;
+	steps[cnt].__fct = steps[cnt].__shlib_handle->fct;
+	steps[cnt].__end_fct = steps[cnt].__shlib_handle->end_fct;
+
+	if (steps[cnt].__end_fct != NULL)
+	  DL_CALL_FCT (steps[cnt].__end_fct, &steps[cnt]);
+	if (steps[cnt].__init_fct != NULL)
+	  DL_CALL_FCT (steps[cnt].__init_fct, &steps[cnt]);
       }
   return result;
 }