r15853: started the process of removing the warnings now that
authorAndrew Tridgell <tridge@samba.org>
Wed, 24 May 2006 07:32:17 +0000 (07:32 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:08:32 +0000 (14:08 -0500)
talloc_set_destructor() is type safe. The end result will be lots less
use of void*, and less calls to talloc_get_type()

source/auth/credentials/credentials_krb5.c
source/auth/gensec/gensec_gssapi.c
source/auth/gensec/gensec_krb5.c
source/auth/kerberos/kerberos_util.c
source/auth/kerberos/krb5_init_context.c
source/gtk/common/gtk_events.c
source/kdc/hdb-ldb.c
source/lib/db_wrap.c

index 29b70d9a53745e64262e656f12714061c12b50cb..7d53caddfa16f6c947d2388270441d3ad297b7b8 100644 (file)
@@ -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;
 }
 
index 070e83e97c73d86294e6801fd5b91a68472ebe6c..270ae3770333453ac1527e74c949ec43cb4c413e 100644 (file)
@@ -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) {
index abb46ab7f785283a2c077dbd06654e616ccc5bba..918950302e0b1e384e875f86e2b23410ee718f7b 100644 (file)
@@ -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;
index 113f41a35f422fdd5cd0bd3e2e790fc05b60bb21..413bef822ba9d7b5938abecbc399e39068833f13 100644 (file)
@@ -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;
 }
index aefa8fbfbc676e59fc786a4de192c52140ed299c..fa2975a6474989940cbb70faa89be835f6a0783f 100644 (file)
@@ -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;
 }
 
index 9a0af5fdeb117a118844ca9afc0c32fe5eb1e51d..67467b87a7126cb115efd63a0cc69a42ebf29349 100644 (file)
@@ -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;
 }
index cc354af9e916d38f12409d6c558ac0e120cac663..518ef7c01c30d193bf21f0b16c4be428ed4061f9 100644 (file)
@@ -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;
index 9ff4301fdb79c15708e0756ff4a54a384a687973..43ad3d0faed7039f4e9290408ffd6b6e1b801050 100644 (file)
@@ -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;