[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-1097-gcf7539a

Derrell Lipman derrell at samba.org
Mon Feb 23 18:50:53 GMT 2009


The branch, master has been updated
       via  cf7539abfb0f6e6956bed7a478e0cda6ab734674 (commit)
      from  ca24822234d9dc77dbe3f351d6dbab5558efac39 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit cf7539abfb0f6e6956bed7a478e0cda6ab734674
Author: Derrell Lipman <derrell.lipman at unwireduniverse.com>
Date:   Mon Feb 23 13:50:11 2009 -0500

    Make char* parameters const
    
    - Use const in function signatures whenever appropriate, to help prevent
      errant scribbling on users' buffers. smbc_set_credentials() always acted as
      if its formal parameters were const char *, and changing the formal
      declaration to specify that should not cause any change to the ABI. It is
      still allowable to pass a writable buffer to a function which specifies that
      it will not write to the buffer.
    
      I'm making this change only in master.
    
    Derrell

-----------------------------------------------------------------------

Summary of changes:
 source3/include/libsmbclient.h  |    8 ++++----
 source3/libsmb/libsmb_context.c |   22 ++++++----------------
 2 files changed, 10 insertions(+), 20 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/libsmbclient.h b/source3/include/libsmbclient.h
index 8c642b1..869aeb6 100644
--- a/source3/include/libsmbclient.h
+++ b/source3/include/libsmbclient.h
@@ -2677,11 +2677,11 @@ smbc_version(void);
  */
 
 void
-smbc_set_credentials(char *workgroup,
-                     char *user,
-                     char *password,
+smbc_set_credentials(const char *workgroup,
+                     const char *user,
+                     const char *password,
                      smbc_bool use_kerberos,
-                     char *signing_state);
+                     const char *signing_state);
 
 /*
  * Wrapper around smbc_set_credentials.
diff --git a/source3/libsmb/libsmb_context.c b/source3/libsmb/libsmb_context.c
index c7c9903..4c12d18 100644
--- a/source3/libsmb/libsmb_context.c
+++ b/source3/libsmb/libsmb_context.c
@@ -630,11 +630,11 @@ smbc_version(void)
  * Set the credentials so DFS will work when following referrals.
  */
 void
-smbc_set_credentials(char *workgroup,
-                     char *user,
-                     char *password,
+smbc_set_credentials(const char *workgroup,
+                     const char *user,
+                     const char *password,
                      smbc_bool use_kerberos,
-                     char *signing_state)
+                     const char *signing_state)
 {
         struct user_auth_info *auth_info;
 
@@ -681,18 +681,8 @@ void smbc_set_credentials_with_fallback(SMBCCTX *context,
 		signing_state = "force";
 	}
 
-	/* 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,
-			     CONST_DISCARD(char *,signing_state));
+	smbc_set_credentials(workgroup, user, password,
+                             use_kerberos, signing_state);
 
 	if (smbc_getOptionFallbackAfterKerberos(context)) {
 		cli_cm_set_fallback_after_kerberos();


-- 
Samba Shared Repository


More information about the samba-cvs mailing list