e_os.h defines Getenv()
[openssl.git] / crypto / conf / conf_api.c
index bf84cecc1e39514bcf35cde8a962905b2a2368e5..9615df5873848e8e0101482f18a44a3151f470a0 100644 (file)
 #include <string.h>
 #include <openssl/conf.h>
 #include <openssl/conf_api.h>
+#include "e_os.h"
 
 static void value_free_hash(CONF_VALUE *a, LHASH *conf);
 static void value_free_stack(CONF_VALUE *a,LHASH *conf);
+static IMPLEMENT_LHASH_DOALL_ARG_FN(value_free_hash, CONF_VALUE *, LHASH *)
+static IMPLEMENT_LHASH_DOALL_ARG_FN(value_free_stack, CONF_VALUE *, LHASH *)
 /* We don't use function pointer casting or wrapper functions - but cast each
  * callback parameter inside the callback functions. */
 /* static unsigned long hash(CONF_VALUE *v); */
@@ -198,13 +201,13 @@ void _CONF_free_data(CONF *conf)
 
        conf->data->down_load=0; /* evil thing to make sure the 'OPENSSL_free()'
                                  * works as expected */
-       lh_doall_arg(conf->data, (LHASH_DOALL_ARG_FN_TYPE)value_free_hash,
+       lh_doall_arg(conf->data, LHASH_DOALL_ARG_FN(value_free_hash),
                        conf->data);
 
        /* We now have only 'section' entries in the hash table.
         * Due to problems with */
 
-       lh_doall_arg(conf->data, (LHASH_DOALL_ARG_FN_TYPE)value_free_stack,
+       lh_doall_arg(conf->data, LHASH_DOALL_ARG_FN(value_free_stack),
                        conf->data);
        lh_free(conf->data);
        }