diff --git a/lib/zip_set_archive_comment.c b/lib/zip_set_archive_comment.c
index 9090eec..221fde5 100644
--- a/lib/zip_set_archive_comment.c
+++ b/lib/zip_set_archive_comment.c
@@ -17,7 +17,7 @@
   3. The names of the authors may not be used to endorse or promote
      products derived from this software without specific prior
      written permission.
- 
+
   THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
   OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -38,8 +38,7 @@
 
 
 ZIP_EXTERN int
-zip_set_archive_comment(zip_t *za, const char *comment, zip_uint16_t len)
-{
+zip_set_archive_comment(zip_t *za, const char *comment, zip_uint16_t len) {
     zip_string_t *cstr;
 
     if (ZIP_IS_RDONLY(za)) {
@@ -53,7 +52,7 @@
     }
 
     if (len > 0) {
-	if ((cstr=_zip_string_new((const zip_uint8_t *)comment, len, ZIP_FL_ENC_GUESS, &za->error)) == NULL)
+	if ((cstr = _zip_string_new((const zip_uint8_t *)comment, len, ZIP_FL_ENC_GUESS, &za->error)) == NULL)
 	    return -1;
 
 	if (_zip_guess_encoding(cstr, ZIP_ENCODING_UNKNOWN) == ZIP_ENCODING_CP437) {
@@ -68,8 +67,7 @@
     _zip_string_free(za->comment_changes);
     za->comment_changes = NULL;
 
-    if (((za->comment_orig && _zip_string_equal(za->comment_orig, cstr))
-	 || (za->comment_orig == NULL && cstr == NULL))) {
+    if (((za->comment_orig && _zip_string_equal(za->comment_orig, cstr)) || (za->comment_orig == NULL && cstr == NULL))) {
 	_zip_string_free(cstr);
 	za->comment_changed = 0;
     }
@@ -77,6 +75,6 @@
 	za->comment_changes = cstr;
 	za->comment_changed = 1;
     }
-    
+
     return 0;
 }
