about summary refs log tree commit diff
path: root/wcsmbs/wcsmbsload.h
diff options
context:
space:
mode:
Diffstat (limited to 'wcsmbs/wcsmbsload.h')
-rw-r--r--wcsmbs/wcsmbsload.h13
1 files changed, 4 insertions, 9 deletions
diff --git a/wcsmbs/wcsmbsload.h b/wcsmbs/wcsmbsload.h
index 8bbd34ba02..876f8368b1 100644
--- a/wcsmbs/wcsmbsload.h
+++ b/wcsmbs/wcsmbsload.h
@@ -66,15 +66,10 @@ extern const struct __locale_data _nl_C_LC_CTYPE attribute_hidden;
 static inline const struct gconv_fcts *
 get_gconv_fcts (struct __locale_data *data)
 {
-  struct gconv_fcts *private = data->private;
-  if (private == NULL)
-    {
-      if (data == &_nl_C_LC_CTYPE)
-	return &__wcsmbs_gconv_fcts_c;
-      __wcsmbs_load_conv (data);
-      private = data->private;
-    }
-  return private;
+  struct lc_ctype_data *private = data->private;
+  if (private->fcts == NULL)
+    __wcsmbs_load_conv (data);
+  return private->fcts;
 }
 
 #endif	/* wcsmbsload.h */