Put all "common" initialisation in the apps_startup() and apps_shutdown()
authorGeoff Thorpe <geoff@openssl.org>
Mon, 10 Sep 2001 21:04:14 +0000 (21:04 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Mon, 10 Sep 2001 21:04:14 +0000 (21:04 +0000)
macros in apps.h.

apps/apps.h
apps/openssl.c

index 869b13d..191097f 100644 (file)
@@ -126,21 +126,26 @@ extern BIO *bio_err;
 #    ifdef _O_BINARY
 #      define apps_startup() \
                do { _fmode=_O_BINARY; do_pipe_sig(); CRYPTO_malloc_init(); \
+               ERR_load_crypto_strings(); \
                OpenSSL_add_all_algorithms(); ENGINE_load_builtin_engines(); \
                 setup_ui_method(); } while(0)
 #    else
 #      define apps_startup() \
                do { _fmode=O_BINARY; do_pipe_sig(); CRYPTO_malloc_init(); \
+               ERR_load_crypto_strings(); \
                OpenSSL_add_all_algorithms(); ENGINE_load_builtin_engines(); \
                 setup_ui_method(); } while(0)
 #    endif
 #  else
 #    define apps_startup() \
                do { do_pipe_sig(); OpenSSL_add_all_algorithms(); \
+               ERR_load_crypto_strings(); \
                ENGINE_load_builtin_engines(); setup_ui_method(); } while(0)
 #  endif
 #  define apps_shutdown() \
-               do { destroy_ui_method(); CRYPTO_cleanup_all_ex_data(); } while(0)
+               do { destroy_ui_method(); EVP_cleanup(); \
+               ENGINE_cleanup(); CRYPTO_cleanup_all_ex_data(); \
+               ERR_remove_state(0); ERR_free_strings(); } while(0)
 #endif
 
 typedef struct args_st
index d34169d..0e179d9 100644 (file)
@@ -255,9 +255,6 @@ int main(int Argc, char *Argv[])
                if ((bio_err=BIO_new(BIO_s_file())) != NULL)
                        BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
 
-       ERR_load_crypto_strings();
-       ENGINE_load_builtin_engines();
-
        /* Lets load up our environment a little */
        p=getenv("OPENSSL_CONF");
        if (p == NULL)
@@ -350,12 +347,6 @@ end:
                }
        if (prog != NULL) lh_free(prog);
        if (arg.data != NULL) OPENSSL_free(arg.data);
-       ERR_remove_state(0);
-
-       EVP_cleanup();
-       ERR_free_strings();
-       
-       ENGINE_cleanup();
 
        apps_shutdown();