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(); +}
