Blob Blame History Raw
diff -up openchange-1.0-BORG/libmapi/IMSProvider.c.fix-samba-args openchange-1.0-BORG/libmapi/IMSProvider.c
--- openchange-1.0-BORG/libmapi/IMSProvider.c.fix-samba-args	2016-04-07 18:27:16.678401391 +0200
+++ openchange-1.0-BORG/libmapi/IMSProvider.c	2016-04-07 18:29:00.321613700 +0200
@@ -90,6 +90,7 @@ static char *build_binding_string(struct
 				  struct mapi_profile *profile)
 {
 	char	*binding;
+	bool	any_string_added = false;
 
 	/* Sanity Checks */
 	if (!profile) return NULL;
@@ -100,15 +101,23 @@ static char *build_binding_string(struct
 
 	/* If dump-data option is enabled */
 	if (mapi_ctx->dumpdata == true) {
-		binding = talloc_strdup_append(binding, "print,");
+		binding = talloc_strdup_append(binding, "print");
+		any_string_added = true;
 	}
 	/* If seal option is enabled in the profile */
 	if (profile->seal == true) {
-		binding = talloc_strdup_append(binding, "seal,");
+		if (any_string_added) {
+			binding = talloc_strdup_append(binding, ",");
+		}
+		binding = talloc_strdup_append(binding, "seal");
+		any_string_added = true;
 	}
 	/* If localaddress parameter is available in the profile */
 	if (profile->localaddr) {
-		binding = talloc_asprintf_append(binding, "localaddress=%s,", profile->localaddr);
+		if (any_string_added) {
+			binding = talloc_strdup_append(binding, ",");
+		}
+		binding = talloc_asprintf_append(binding, "localaddress=%s", profile->localaddr);
 	}
 	
 	binding = talloc_strdup_append(binding, "]");