Fix from 1.0.0-stable.
[oweals/openssl.git] / crypto / dso / dso_err.c
index bc0af84e01096f6a6654585880d906b18b1d131d..a8b0a210de4384336c83743cf99ef2923c6cc3d9 100644 (file)
@@ -101,9 +101,11 @@ static ERR_STRING_DATA DSO_str_functs[]=
 {ERR_FUNC(DSO_F_VMS_UNLOAD),   "VMS_UNLOAD"},
 {ERR_FUNC(DSO_F_WIN32_BIND_FUNC),      "WIN32_BIND_FUNC"},
 {ERR_FUNC(DSO_F_WIN32_BIND_VAR),       "WIN32_BIND_VAR"},
+{ERR_FUNC(DSO_F_WIN32_JOINER), "WIN32_JOINER"},
 {ERR_FUNC(DSO_F_WIN32_LOAD),   "WIN32_LOAD"},
 {ERR_FUNC(DSO_F_WIN32_MERGER), "WIN32_MERGER"},
 {ERR_FUNC(DSO_F_WIN32_NAME_CONVERTER), "WIN32_NAME_CONVERTER"},
+{ERR_FUNC(DSO_F_WIN32_SPLITTER),       "WIN32_SPLITTER"},
 {ERR_FUNC(DSO_F_WIN32_UNLOAD), "WIN32_UNLOAD"},
 {0,NULL}
        };
@@ -134,15 +136,12 @@ static ERR_STRING_DATA DSO_str_reasons[]=
 
 void ERR_load_DSO_strings(void)
        {
-       static int init=1;
+#ifndef OPENSSL_NO_ERR
 
-       if (init)
+       if (ERR_func_error_string(DSO_str_functs[0].error) == NULL)
                {
-               init=0;
-#ifndef OPENSSL_NO_ERR
                ERR_load_strings(0,DSO_str_functs);
                ERR_load_strings(0,DSO_str_reasons);
-#endif
-
                }
+#endif
        }