Revision: 6030
Author: iratqq
Date: Mon Oct 12 07:41:45 2009
Log: * scm/openssl.scm:
  - Remove ssl init functions.
* uim/openssl.c (uim_plugin_instance_quit):
  - Add ERR_free_strings().
  (c_SSL_load_error_strings, c_SSL_library_init):
  - Move to uim_plugin_instance_init().
  (uim_plugin_instance_init):
  - Init ssl functions.

http://code.google.com/p/uim/source/detail?r=6030

Modified:
 /trunk/scm/openssl.scm
 /trunk/uim/openssl.c

=======================================
--- /trunk/scm/openssl.scm      Mon Mar  2 10:57:54 2009
+++ /trunk/scm/openssl.scm      Mon Oct 12 07:41:45 2009
@@ -35,11 +35,6 @@
 (and (not (provided? "openssl"))
      (guard (err (else #f))
             (module-load "openssl"))
-
-     ;; init
-     (SSL-load-error-strings)
-     (SSL-library-init)
-
      (provide "openssl"))

 (define-record-type openssl-file-internal
=======================================
--- /trunk/uim/openssl.c        Tue Mar  3 02:52:20 2009
+++ /trunk/uim/openssl.c        Mon Oct 12 07:41:45 2009
@@ -48,13 +48,6 @@
 #ifdef USE_OPENSSL_ENGINE
 # include <openssl/engine.h>
 #endif
-
-static uim_lisp
-c_SSL_load_error_strings(void)
-{
-  SSL_load_error_strings();
-  return uim_scm_t();
-}

 static uim_lisp
 c_ERR_get_error(void)
@@ -71,26 +64,6 @@
   ERR_error_string_n(C_INT(e_), buf, sizeof(buf));
   return MAKE_STR(buf);
 }
-
-static uim_lisp
-c_SSL_library_init(void)
-{
-  int ret;
-
-  /* too old? */
-  ret = SSLeay_add_ssl_algorithms();
-  if (!ret)
-    return MAKE_INT(ret);
-  ret = SSL_library_init();
-  if (!ret)
-    return MAKE_INT(ret);
-#ifdef  USE_OPENSSL_ENGINE
-  ENGINE_load_builtin_engines();
-  ENGINE_register_all_complete();
-#endif
-
-  return MAKE_INT(ret);
-}

 static uim_lisp
 c_SSL_CTX_new(uim_lisp meth_)
@@ -312,10 +285,20 @@
 void
 uim_plugin_instance_init(void)
 {
-  uim_scm_init_proc0("SSL-load-error-strings", c_SSL_load_error_strings);
+  /* too old? */
+  if (!SSLeay_add_ssl_algorithms())
+    return;
+  if (!SSL_library_init())
+    return;
+#ifdef  USE_OPENSSL_ENGINE
+  ENGINE_load_builtin_engines();
+  ENGINE_register_all_complete();
+#endif
+
+  SSL_load_error_strings();
+
   uim_scm_init_proc0("ERR-get-error", c_ERR_get_error);
   uim_scm_init_proc1("ERR-error-string", c_ERR_error_string);
-  uim_scm_init_proc0("SSL-library-init", c_SSL_library_init);
   uim_scm_init_proc1("SSL-CTX-new", c_SSL_CTX_new);
   uim_scm_init_proc1("SSL-CTX-free", c_SSL_CTX_free);
   uim_scm_init_proc1("SSL-new", c_SSL_new);
@@ -347,4 +330,5 @@
 void
 uim_plugin_instance_quit(void)
 {
-}
+  ERR_free_strings();
+}

Reply via email to