#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); */
-static unsigned long hash(void *v_void);
+static unsigned long hash(const void *v_void);
/* static int cmp_conf(CONF_VALUE *a,CONF_VALUE *b); */
-static int cmp_conf(void *a_void,void *b_void);
+static int cmp_conf(const void *a_void,const void *b_void);
/* Up until OpenSSL 0.9.5a, this was get_section */
CONF_VALUE *_CONF_get_section(CONF *conf, char *section)
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);
}
}
/* static unsigned long hash(CONF_VALUE *v) */
-static unsigned long hash(void *v_void)
+static unsigned long hash(const void *v_void)
{
CONF_VALUE *v = (CONF_VALUE *)v_void;
return((lh_strhash(v->section)<<2)^lh_strhash(v->name));
}
/* static int cmp_conf(CONF_VALUE *a, CONF_VALUE *b) */
-static int cmp_conf(void *a_void, void *b_void)
+static int cmp_conf(const void *a_void,const void *b_void)
{
int i;
CONF_VALUE *a = (CONF_VALUE *)a_void;