summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2006-05-24 07:32:17 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:08:32 -0500
commitcdc64c448df49676c96f87d106af8de0c467651f (patch)
tree341b178e8bc20e6b132382f8fce05204978ddd9d
parenta665cccd2ef81e704e90bb228bbd14c0afb031af (diff)
downloadsamba-cdc64c448df49676c96f87d106af8de0c467651f.tar.gz
samba-cdc64c448df49676c96f87d106af8de0c467651f.tar.bz2
samba-cdc64c448df49676c96f87d106af8de0c467651f.zip
r15853: started the process of removing the warnings now that
talloc_set_destructor() is type safe. The end result will be lots less use of void*, and less calls to talloc_get_type() (This used to be commit 6b4c085b862c0932b80b93e316396a53b993544c)
-rw-r--r--source4/auth/credentials/credentials_krb5.c14
-rw-r--r--source4/auth/gensec/gensec_gssapi.c3
-rw-r--r--source4/auth/gensec/gensec_krb5.c4
-rw-r--r--source4/auth/kerberos/kerberos_util.c12
-rw-r--r--source4/auth/kerberos/krb5_init_context.c9
-rw-r--r--source4/gtk/common/gtk_events.c10
-rw-r--r--source4/kdc/hdb-ldb.c3
-rw-r--r--source4/lib/db_wrap.c3
8 files changed, 23 insertions, 35 deletions
diff --git a/source4/auth/credentials/credentials_krb5.c b/source4/auth/credentials/credentials_krb5.c
index 29b70d9a53..7d53caddfa 100644
--- a/source4/auth/credentials/credentials_krb5.c
+++ b/source4/auth/credentials/credentials_krb5.c
@@ -104,16 +104,15 @@ int cli_credentials_set_from_ccache(struct cli_credentials *cred,
}
/* Free a memory ccache */
-static int free_mccache(void *ptr) {
- struct ccache_container *ccc = ptr;
+static int free_mccache(struct ccache_container *ccc)
+{
krb5_cc_destroy(ccc->smb_krb5_context->krb5_context, ccc->ccache);
return 0;
}
/* Free a disk-based ccache */
-static int free_dccache(void *ptr) {
- struct ccache_container *ccc = ptr;
+static int free_dccache(struct ccache_container *ccc) {
krb5_cc_close(ccc->smb_krb5_context->krb5_context, ccc->ccache);
return 0;
@@ -273,11 +272,10 @@ int cli_credentials_get_ccache(struct cli_credentials *cred,
return ret;
}
-static int free_gssapi_creds(void *ptr) {
+static int free_gssapi_creds(struct gssapi_creds_container *gcc)
+{
OM_uint32 min_stat, maj_stat;
- struct gssapi_creds_container *gcc = ptr;
- maj_stat = gss_release_cred(&min_stat,
- &gcc->creds);
+ maj_stat = gss_release_cred(&min_stat, &gcc->creds);
return 0;
}
diff --git a/source4/auth/gensec/gensec_gssapi.c b/source4/auth/gensec/gensec_gssapi.c
index 070e83e97c..270ae37703 100644
--- a/source4/auth/gensec/gensec_gssapi.c
+++ b/source4/auth/gensec/gensec_gssapi.c
@@ -95,9 +95,8 @@ static char *gssapi_error_string(TALLOC_CTX *mem_ctx,
}
-static int gensec_gssapi_destory(void *ptr)
+static int gensec_gssapi_destory(struct gensec_gssapi_state *gensec_gssapi_state)
{
- struct gensec_gssapi_state *gensec_gssapi_state = ptr;
OM_uint32 maj_stat, min_stat;
if (gensec_gssapi_state->delegated_cred_handle != GSS_C_NO_CREDENTIAL) {
diff --git a/source4/auth/gensec/gensec_krb5.c b/source4/auth/gensec/gensec_krb5.c
index abb46ab7f7..918950302e 100644
--- a/source4/auth/gensec/gensec_krb5.c
+++ b/source4/auth/gensec/gensec_krb5.c
@@ -54,10 +54,8 @@ struct gensec_krb5_state {
BOOL gssapi;
};
-static int gensec_krb5_destroy(void *ptr)
+static int gensec_krb5_destroy(struct gensec_krb5_state *gensec_krb5_state)
{
- struct gensec_krb5_state *gensec_krb5_state = ptr;
-
if (!gensec_krb5_state->smb_krb5_context) {
/* We can't clean anything else up unless we started up this far */
return 0;
diff --git a/source4/auth/kerberos/kerberos_util.c b/source4/auth/kerberos/kerberos_util.c
index 113f41a35f..413bef822b 100644
--- a/source4/auth/kerberos/kerberos_util.c
+++ b/source4/auth/kerberos/kerberos_util.c
@@ -31,8 +31,8 @@ struct principal_container {
krb5_principal principal;
};
-static int free_principal(void *ptr) {
- struct principal_container *pc = ptr;
+static int free_principal(struct principal_container *pc)
+{
/* current heimdal - 0.6.3, which we need anyway, fixes segfaults here */
krb5_free_principal(pc->smb_krb5_context->krb5_context, pc->principal);
@@ -227,8 +227,8 @@ krb5_error_code principal_from_credentials(TALLOC_CTX *parent_ctx,
return 0;
}
-static int free_keytab(void *ptr) {
- struct keytab_container *ktc = ptr;
+static int free_keytab(struct keytab_container *ktc)
+{
krb5_kt_close(ktc->smb_krb5_context->krb5_context, ktc->keytab);
return 0;
@@ -265,8 +265,8 @@ struct enctypes_container {
krb5_enctype *enctypes;
};
-static int free_enctypes(void *ptr) {
- struct enctypes_container *etc = ptr;
+static int free_enctypes(struct enctypes_container *etc)
+{
free_kerberos_etypes(etc->smb_krb5_context->krb5_context, etc->enctypes);
return 0;
}
diff --git a/source4/auth/kerberos/krb5_init_context.c b/source4/auth/kerberos/krb5_init_context.c
index aefa8fbfbc..fa2975a647 100644
--- a/source4/auth/kerberos/krb5_init_context.c
+++ b/source4/auth/kerberos/krb5_init_context.c
@@ -47,21 +47,18 @@ struct smb_krb5_socket {
krb5_krbhst_info *hi;
};
-static int smb_krb5_context_destroy_1(void *ptr)
+static int smb_krb5_context_destroy_1(struct smb_krb5_context *ctx)
{
- struct smb_krb5_context *ctx = ptr;
krb5_free_context(ctx->krb5_context);
return 0;
}
-static int smb_krb5_context_destroy_2(void *ptr)
+static int smb_krb5_context_destroy_2(struct smb_krb5_context *ctx)
{
- struct smb_krb5_context *ctx = ptr;
-
/* Otherwise krb5_free_context will try and close what we have already free()ed */
krb5_set_warn_dest(ctx->krb5_context, NULL);
krb5_closelog(ctx->krb5_context, ctx->logf);
- smb_krb5_context_destroy_1(ptr);
+ smb_krb5_context_destroy_1(ctx);
return 0;
}
diff --git a/source4/gtk/common/gtk_events.c b/source4/gtk/common/gtk_events.c
index 9a0af5fdeb..67467b87a7 100644
--- a/source4/gtk/common/gtk_events.c
+++ b/source4/gtk/common/gtk_events.c
@@ -34,7 +34,7 @@
*/
static struct event_context *gtk_event_context_global;
-static int gtk_event_context_destructor(void *ptr)
+static int gtk_event_context_destructor(struct event_context *ev)
{
gtk_event_context_global = NULL;
return 0;
@@ -83,9 +83,8 @@ static gboolean gtk_event_fd_handler(GIOChannel *source, GIOCondition condition,
/*
destroy an fd_event
*/
-static int gtk_event_fd_destructor(void *ptr)
+static int gtk_event_fd_destructor(struct fd_event *fde)
{
- struct fd_event *fde = talloc_get_type(ptr, struct fd_event);
struct gtk_fd_event *gtk_fd = talloc_get_type(fde->additional_data,
struct gtk_fd_event);
@@ -212,9 +211,8 @@ struct gtk_timed_event {
/*
destroy a timed event
*/
-static int gtk_event_timed_destructor(void *ptr)
+static int gtk_event_timed_destructor(struct timed_event *te)
{
- struct timed_event *te = talloc_get_type(ptr, struct timed_event);
struct gtk_timed_event *gtk_te = talloc_get_type(te->additional_data,
struct gtk_timed_event);
@@ -223,7 +221,7 @@ static int gtk_event_timed_destructor(void *ptr)
return 0;
}
-static int gtk_event_timed_deny_destructor(void *ptr)
+static int gtk_event_timed_deny_destructor(struct timed_event *te)
{
return -1;
}
diff --git a/source4/kdc/hdb-ldb.c b/source4/kdc/hdb-ldb.c
index cc354af9e9..518ef7c01c 100644
--- a/source4/kdc/hdb-ldb.c
+++ b/source4/kdc/hdb-ldb.c
@@ -198,9 +198,8 @@ static HDBFlags uf2HDBFlags(krb5_context context, int userAccountControl, enum h
return flags;
}
-static int hdb_ldb_destrutor(void *ptr)
+static int hdb_ldb_destrutor(struct hdb_ldb_private *private)
{
- struct hdb_ldb_private *private = ptr;
hdb_entry_ex *entry_ex = private->entry_ex;
free_hdb_entry(&entry_ex->entry);
return 0;
diff --git a/source4/lib/db_wrap.c b/source4/lib/db_wrap.c
index 9ff4301fdb..43ad3d0fae 100644
--- a/source4/lib/db_wrap.c
+++ b/source4/lib/db_wrap.c
@@ -166,9 +166,8 @@ static void tdb_wrap_log(TDB_CONTEXT *tdb, int level,
/* destroy the last connection to a tdb */
-static int tdb_wrap_destructor(void *ctx)
+static int tdb_wrap_destructor(struct tdb_wrap *w)
{
- struct tdb_wrap *w = ctx;
tdb_close(w->tdb);
DLIST_REMOVE(tdb_list, w);
return 0;