Change smbc_set_credentials_with_fallback() (unreleased) to use
authorJeremy Allison <jra@samba.org>
Sat, 21 Feb 2009 00:41:41 +0000 (16:41 -0800)
committerJeremy Allison <jra@samba.org>
Sat, 21 Feb 2009 00:41:41 +0000 (16:41 -0800)
const approptiately.
Jeremy.

source3/include/libsmbclient.h
source3/libsmb/libsmb_context.c

index efc471c..8c642b1 100644 (file)
@@ -2692,9 +2692,9 @@ smbc_set_credentials(char *workgroup,
 
 void
 smbc_set_credentials_with_fallback(SMBCCTX *ctx,
-                                  char *workgroup,
-                                  char *user,
-                                  char *password);
+                                  const char *workgroup,
+                                  const char *user,
+                                  const char *password);
 
 /**
  * @ingroup structure
index e4df7fc..c7c9903 100644 (file)
@@ -654,9 +654,9 @@ smbc_set_credentials(char *workgroup,
 }
 
 void smbc_set_credentials_with_fallback(SMBCCTX *context,
-                                       char *workgroup,
-                                       char *user,
-                                       char *password)
+                                       const char *workgroup,
+                                       const char *user,
+                                       const char *password)
 {
        smbc_bool use_kerberos = false;
        const char *signing_state = "off";
@@ -681,11 +681,18 @@ void smbc_set_credentials_with_fallback(SMBCCTX *context,
                signing_state = "force";
        }
 
-       smbc_set_credentials(workgroup,
-                            user,
-                            password,
+       /* Using CONST_DISCARD here is ugly, but
+        * we know that smbc_set_credentials() doesn't
+        * actually modify the strings, and should have
+        * been const from the start. We're constrained
+        * by the ABI here.
+        */
+
+       smbc_set_credentials(CONST_DISCARD(char *,workgroup),
+                            CONST_DISCARD(char *,user),
+                            CONST_DISCARD(char *,password),
                             use_kerberos,
-                            (char *)signing_state);
+                            CONST_DISCARD(char *,signing_state));
 
        if (smbc_getOptionFallbackAfterKerberos(context)) {
                cli_cm_set_fallback_after_kerberos();