r6127: Eliminated all compiler warnings pertaining to mismatched "qualifiers". The
authorDerrell Lipman <derrell@samba.org>
Wed, 30 Mar 2005 04:40:24 +0000 (04:40 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:56:24 +0000 (10:56 -0500)
whole of samba comiles warning-free with the default compiler flags.

Temporarily defined -Wall to locate other potential problems.  Found an
unused static function (#ifdefed out rather than deleted, in case it's
needed for something in progress).

There are also a number of uses of undeclared functions, mostly krb5_*.
Files with these problems need to have appropriate header files included,
but they are not fixed in this update.

oplock_linux.c.c has undefined functions capget() and capset(), which need
to have "#undef _POSIX_SOURCE" specified before including <sys/capability.h>,
but that could potentially have other side effects, so that remains uncorrected
as well.

The flag -Wall should be added permanently to CFLAGS, and all warnings then
generated should be eliminated.
(This used to be commit 5b19ede88ed80318e392f8017f4573fbb2ecbe0f)

14 files changed:
source3/include/smb_macros.h
source3/lib/smbldap.c
source3/libads/kerberos.c
source3/libsmb/spnego.c
source3/nsswitch/winbindd_acct.c
source3/nsswitch/winbindd_nss.h
source3/nsswitch/winbindd_rpc.c
source3/nsswitch/winbindd_util.c
source3/rpc_server/srv_svcctl_nt.c
source3/tdb/tdb.c
source3/tdb/tdbutil.c
source3/utils/net_ads.c
source3/utils/net_lookup.c
source3/utils/smbcontrol.c

index 68a80ec4022ba753010fa5b486241147d5bca420..9a78718605c62c70012a97a0e8f0edfa49db3aec 100644 (file)
@@ -43,7 +43,7 @@
  * @note You are explicitly allowed to pass NULL pointers -- they will
  * always be ignored.
  **/
-#define SAFE_FREE(x) do { if ((x) != NULL) {free(x); x=NULL;} } while(0)
+#define SAFE_FREE(x) do { if ((x) != NULL) {free((void *) (x)); x=NULL;} } while(0)
 #endif
 
 /* zero a structure */
index 68084b04045e5b3f1c871758fd8bde1d7a4ce9d2..78ec249717903a42c8b66ef77f966005fc3e19d1 100644 (file)
@@ -1066,7 +1066,7 @@ int smbldap_search(struct smbldap_state *ldap_state,
 
        while (another_ldap_try(ldap_state, &rc, &attempts, endtime))
                rc = ldap_search_s(ldap_state->ldap_struct, base, scope, 
-                                  utf8_filter, attrs, attrsonly, res);
+                                  utf8_filter, (char **) attrs, attrsonly, res);
        
        SAFE_FREE(utf8_filter);
        return rc;
@@ -1471,7 +1471,7 @@ static BOOL smbldap_check_root_dse(struct smbldap_state *ldap_state, const char
        }
 
        rc = ldap_search_s(ldap_state->ldap_struct, "", LDAP_SCOPE_BASE, 
-                          "(objectclass=*)", attrs, 0 , &msg);
+                          "(objectclass=*)", (char **) attrs, 0 , &msg);
 
        if (rc != LDAP_SUCCESS) {
                DEBUG(3,("smbldap_check_root_dse: Could not search rootDSE\n"));
index 4c9997e080ec9c2d334289169021d519f4271a35..43ccb18b5a65c65c6f5da910fa03745c306c27d6 100644 (file)
@@ -88,7 +88,8 @@ int kerberos_kinit_password(const char *principal,
                return code;
        }
        
-       if ((code = krb5_get_init_creds_password(ctx, &my_creds, me, password, 
+       if ((code = krb5_get_init_creds_password(ctx, &my_creds, me,
+                                                 (char *) password, 
                                                 kerb_prompter, 
                                                 NULL, 0, NULL, NULL))) {
                krb5_free_principal(ctx, me);
index a0f5565d4f3f9fbdff12a7e74dcbb1cf2aa95cbd..090148d415f9b0b83d7e2f97c60834b1276eb013 100644 (file)
@@ -42,12 +42,12 @@ static BOOL read_negTokenInit(ASN1_DATA *asn1, negTokenInit_t *token)
                        asn1_start_tag(asn1, ASN1_CONTEXT(0));
                        asn1_start_tag(asn1, ASN1_SEQUENCE(0));
 
-                       token->mechTypes = SMB_MALLOC_P(char *);
+                       token->mechTypes = SMB_MALLOC_P(const char *);
                        for (i = 0; !asn1->has_error &&
                                     0 < asn1_tag_remaining(asn1); i++) {
                                token->mechTypes = 
-                                       SMB_REALLOC_ARRAY(token->mechTypes, char *, i + 2);
-                               asn1_read_OID(asn1, token->mechTypes + i);
+                                       SMB_REALLOC_ARRAY(token->mechTypes, const char *, i + 2);
+                               asn1_read_OID(asn1, (char **) (token->mechTypes + i));
                        }
                        token->mechTypes[i] = NULL;
                        
@@ -182,7 +182,7 @@ static BOOL read_negTokenTarg(ASN1_DATA *asn1, negTokenTarg_t *token)
                        break;
                case ASN1_CONTEXT(1):
                        asn1_start_tag(asn1, ASN1_CONTEXT(1));
-                       asn1_read_OID(asn1, &token->supportedMech);
+                       asn1_read_OID(asn1, (char **) &token->supportedMech);
                        asn1_end_tag(asn1);
                        break;
                case ASN1_CONTEXT(2):
@@ -317,7 +317,7 @@ BOOL free_spnego_data(SPNEGO_DATA *spnego)
                if (spnego->negTokenInit.mechTypes) {
                        int i;
                        for (i = 0; spnego->negTokenInit.mechTypes[i]; i++) {
-                               free(spnego->negTokenInit.mechTypes[i]);
+                               free((void *) spnego->negTokenInit.mechTypes[i]);
                        }
                        free(spnego->negTokenInit.mechTypes);
                }
@@ -326,7 +326,7 @@ BOOL free_spnego_data(SPNEGO_DATA *spnego)
                break;
        case SPNEGO_NEG_TOKEN_TARG:
                if (spnego->negTokenTarg.supportedMech) {
-                       free(spnego->negTokenTarg.supportedMech);
+                       free((void *) spnego->negTokenTarg.supportedMech);
                }
                data_blob_free(&spnego->negTokenTarg.responseToken);
                data_blob_free(&spnego->negTokenTarg.mechListMIC);
index 2c8b7cae28755e43aef73e0dc087b3bee587920c..cd0b5b7e0669b513d14792865d4a83fad891f0ac 100644 (file)
@@ -222,7 +222,7 @@ static WINBINDD_GR* string2group( char *string )
                        gr_members = SMB_XMALLOC_ARRAY(char*, num_gr_members+1);
                        
                        i = 0;
-                       while ( next_token(&str, buffer, ",", sizeof(buffer)) && i<num_gr_members ) {
+                       while ( next_token((const char **) &str, buffer, ",", sizeof(buffer)) && i<num_gr_members ) {
                                gr_members[i++] = smb_xstrdup(buffer);
                        }
 
index 88e3254d24a8fe989a8783e19c29ee8887122e30..838ba1e211efa838217f5274d7960bf9947decf9 100644 (file)
@@ -11,7 +11,7 @@
 */
 
 #ifndef SAFE_FREE
-#define SAFE_FREE(x) do { if(x) {free(x); x=NULL;} } while(0)
+#define SAFE_FREE(x) do { if(x) {free((void *) (x)); x=NULL;} } while(0)
 #endif
 
 #ifndef _WINBINDD_NTDOM_H
index 99d12563c6cab3602aed54317b78f9ee7ec6d4b4..5e974736e3d21bbcb979d9ee2a1b0e69221d4ec2 100644 (file)
@@ -788,7 +788,8 @@ static int get_ldap_seq(const char *server, int port, uint32 *seq)
        to.tv_sec = 10;
        to.tv_usec = 0;
 
-       if (ldap_search_st(ldp, "", LDAP_SCOPE_BASE, "(objectclass=*)", &attrs[0], 0, &to, &res))
+       if (ldap_search_st(ldp, "", LDAP_SCOPE_BASE, "(objectclass=*)",
+                           (char **) &attrs[0], 0, &to, &res))
                goto done;
 
        if (ldap_count_entries(ldp, res) != 1)
index 11da05ac3b45e481b48f151bea24389c5eaadb48..3d03d6f4cc49aa74656dc30e7b4013d094b5b7c6 100644 (file)
@@ -636,7 +636,7 @@ BOOL parse_domain_user(const char *domuser, fstring domain, fstring user)
 */
 void fill_domain_username(fstring name, const char *domain, const char *user)
 {
-       strlower_m( user );
+        strlower_m( (char *) user );
 
        if (assume_domain(domain)) {
                strlcpy(name, user, sizeof(fstring));
index 19244d2208fa74acf21d5e479d9cc49c394f54b7..cb04ef1d10f5af95b9257123ed684497e98b92dd 100644 (file)
@@ -34,6 +34,8 @@ static TDB_CONTEXT *svcctl_tdb; /* used for share security descriptors */
 /********************************************************************
 ********************************************************************/
 
+#if 0 /* unused static function */
+
 static BOOL init_svcctl_db( void )
 {
        static pid_t local_pid;
@@ -69,6 +71,8 @@ static BOOL init_svcctl_db( void )
        return True;
 }
 
+#endif
+
 /********************************************************************
  TODO
  (a) get and set security descriptors on services
index b3d596f44280126924196b0a9f7efc83859e4ef0..0644b64da0946a90e9ee1d997854d6e7b65adef1 100644 (file)
 
 /* free memory if the pointer is valid and zero the pointer */
 #ifndef SAFE_FREE
-#define SAFE_FREE(x) do { if ((x) != NULL) {free((x)); (x)=NULL;} } while(0)
+#define SAFE_FREE(x) do { if ((x) != NULL) {free((void *) (x)); (x)=NULL;} } while(0)
 #endif
 
 #define BUCKET(hash) ((hash) % tdb->header.hash_size)
index 682f8cc68e2a99b1260e0049ad0d5a166a94b745..29fbd259044acffa7418200e682ecdf66f6f1a19 100644 (file)
@@ -43,7 +43,7 @@ static void gotalarm_sig(void)
 TDB_DATA make_tdb_data(const char *dptr, size_t dsize)
 {
        TDB_DATA ret;
-       ret.dptr = dptr;
+       ret.dptr = (char *) dptr;
        ret.dsize = dsize;
        return ret;
 }
@@ -62,7 +62,7 @@ static int tdb_chainlock_with_timeout_internal( TDB_CONTEXT *tdb, TDB_DATA key,
        /* Allow tdb_chainlock to be interrupted by an alarm. */
        int ret;
        gotalarm = 0;
-       tdb_set_lock_alarm(&gotalarm);
+       tdb_set_lock_alarm((sig_atomic_t *) &gotalarm);
 
        if (timeout) {
                CatchSignal(SIGALRM, SIGNAL_CAST gotalarm_sig);
index 9c00f05bfbb7441e7ef7d372668f593d055c1958..83fdb08a9a8423faca6bf372b82276ce3604e468 100644 (file)
@@ -81,7 +81,7 @@ static int net_ads_lookup(int argc, const char **argv)
                d_printf("Didn't find the cldap server!\n");
                return -1;
        } if (!ads->config.realm) {
-               ads->config.realm = opt_target_workgroup;
+                ads->config.realm = (char *) opt_target_workgroup;
                ads->ldap_port = 389;
        }
 
index 7e5f12da4541719632e148b0024c53bc1c67b2f8..7f7a88c66db3c4e8f55541c9763270c6978d2442 100644 (file)
@@ -209,7 +209,7 @@ static int net_lookup_kdc(int argc, const char **argv)
                realm.length = strlen(realm.data);
        }
 
-       rc = krb5_locate_kdc(ctx, &realm, &addrs, &num_kdcs, 0);
+       rc = krb5_locate_kdc(ctx, &realm, (struct sockaddr **) &addrs, &num_kdcs, 0);
        if (rc) {
                DEBUG(1, ("krb5_locate_kdc failed (%s)\n", error_message(rc)));
                return -1;
index 2eb661c8b68b4e07d1efbfb9a174112b1967fcaa..154bc5b1ae429d8dde252c169e2dea031b621b5b 100644 (file)
@@ -428,7 +428,7 @@ static BOOL do_printnotify(const pid_t pid, const int argc, const char **argv)
                        return False;
                }
 
-               notify_printer_byname(argv[2], attribute, argv[4]);
+               notify_printer_byname(argv[2], attribute, (char *) argv[4]);
 
                goto send;
        }