提交 0774f470 编写于 作者: B Ben Laurie

Correct const-ness.

上级 d7a9e916
......@@ -268,7 +268,7 @@ void *lh_retrieve(LHASH *lh, const void *data)
}
static void doall_util_fn(LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
LHASH_DOALL_ARG_FN_TYPE func_arg, const void *arg)
LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
{
int i;
LHASH_NODE *a,*n;
......@@ -297,7 +297,7 @@ void lh_doall(LHASH *lh, LHASH_DOALL_FN_TYPE func)
doall_util_fn(lh, 0, func, (LHASH_DOALL_ARG_FN_TYPE)0, NULL);
}
void lh_doall_arg(LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, const void *arg)
void lh_doall_arg(LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
{
doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);
}
......
......@@ -87,7 +87,7 @@ typedef struct lhash_node_st
typedef int (*LHASH_COMP_FN_TYPE)(const void *, const void *);
typedef unsigned long (*LHASH_HASH_FN_TYPE)(const void *);
typedef void (*LHASH_DOALL_FN_TYPE)(const void *);
typedef void (*LHASH_DOALL_ARG_FN_TYPE)(const void *, const void *);
typedef void (*LHASH_DOALL_ARG_FN_TYPE)(const void *, void *);
/* Macros for declaring and implementing type-safe wrappers for LHASH callbacks.
* This way, callbacks can be provided to LHASH structures without function
......@@ -126,9 +126,9 @@ typedef void (*LHASH_DOALL_ARG_FN_TYPE)(const void *, const void *);
/* Fourth: "doall_arg" functions */
#define DECLARE_LHASH_DOALL_ARG_FN(f_name,o_type,a_type) \
void f_name##_LHASH_DOALL_ARG(const void *, const void *);
void f_name##_LHASH_DOALL_ARG(const void *, void *);
#define IMPLEMENT_LHASH_DOALL_ARG_FN(f_name,o_type,a_type) \
void f_name##_LHASH_DOALL_ARG(const void *arg1, const void *arg2) { \
void f_name##_LHASH_DOALL_ARG(const void *arg1, void *arg2) { \
o_type a = (o_type)arg1; \
a_type b = (a_type)arg2; \
f_name(a,b); }
......@@ -176,7 +176,7 @@ void *lh_insert(LHASH *lh, const void *data);
void *lh_delete(LHASH *lh, const void *data);
void *lh_retrieve(LHASH *lh, const void *data);
void lh_doall(LHASH *lh, LHASH_DOALL_FN_TYPE func);
void lh_doall_arg(LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, const void *arg);
void lh_doall_arg(LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg);
unsigned long lh_strhash(const char *c);
unsigned long lh_num_items(const LHASH *lh);
......
......@@ -238,8 +238,8 @@ long CRYPTO_dbg_get_options(void)
/* static int mem_cmp(MEM *a, MEM *b) */
static int mem_cmp(const void *a_void, const void *b_void)
{
return((const char *)((MEM *)a_void)->addr
- (const char *)((MEM *)b_void)->addr);
return((const char *)((const MEM *)a_void)->addr
- (const char *)((const MEM *)b_void)->addr);
}
/* static unsigned long mem_hash(MEM *a) */
......@@ -576,7 +576,7 @@ typedef struct mem_leak_st
long bytes;
} MEM_LEAK;
static void print_leak(MEM *m, MEM_LEAK *l)
static void print_leak(const MEM *m, MEM_LEAK *l)
{
char buf[1024];
char *bufp = buf;
......@@ -661,7 +661,7 @@ static void print_leak(MEM *m, MEM_LEAK *l)
#endif
}
static IMPLEMENT_LHASH_DOALL_ARG_FN(print_leak, MEM *, MEM_LEAK *)
static IMPLEMENT_LHASH_DOALL_ARG_FN(print_leak, const MEM *, MEM_LEAK *)
void CRYPTO_mem_leaks(BIO *b)
{
......@@ -753,12 +753,12 @@ void CRYPTO_mem_leaks_fp(FILE *fp)
/* NB: The prototypes have been typedef'd to CRYPTO_MEM_LEAK_CB inside crypto.h
* If this code is restructured, remove the callback type if it is no longer
* needed. -- Geoff Thorpe */
static void cb_leak(MEM *m, CRYPTO_MEM_LEAK_CB **cb)
static void cb_leak(const MEM *m, CRYPTO_MEM_LEAK_CB **cb)
{
(**cb)(m->order,m->file,m->line,m->num,m->addr);
}
static IMPLEMENT_LHASH_DOALL_ARG_FN(cb_leak, MEM *, CRYPTO_MEM_LEAK_CB **)
static IMPLEMENT_LHASH_DOALL_ARG_FN(cb_leak, const MEM *, CRYPTO_MEM_LEAK_CB **)
void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册