diff --git a/archival/cpio.c b/archival/cpio.c
index 751e879..73651ba 100644
--- a/archival/cpio.c
+++ b/archival/cpio.c
@@ -82,5 +82,5 @@
 
 	while (get_header_cpio(archive_handle) == EXIT_SUCCESS);
 
-	return(EXIT_SUCCESS);
+	return EXIT_SUCCESS;
 }
diff --git a/archival/dpkg_deb.c b/archival/dpkg_deb.c
index 80a5f32..d11d9df 100644
--- a/archival/dpkg_deb.c
+++ b/archival/dpkg_deb.c
@@ -90,7 +90,7 @@
 	unpack_ar_archive(ar_archive);
 
 	/* Cleanup */
-	close (ar_archive->src_fd);
+	close(ar_archive->src_fd);
 
-	return(EXIT_SUCCESS);
+	return EXIT_SUCCESS;
 }
diff --git a/archival/libunarchive/decompress_unzip.c b/archival/libunarchive/decompress_unzip.c
index 9e3e98d..621d84c 100644
--- a/archival/libunarchive/decompress_unzip.c
+++ b/archival/libunarchive/decompress_unzip.c
@@ -123,7 +123,7 @@
 		bytebuffer_offset++;
 		*current += 8;
 	}
-	return(bitbuffer);
+	return bitbuffer;
 }
 
 /*
diff --git a/archival/libunarchive/filter_accept_all.c b/archival/libunarchive/filter_accept_all.c
index e2ff06d..5c991ca 100644
--- a/archival/libunarchive/filter_accept_all.c
+++ b/archival/libunarchive/filter_accept_all.c
@@ -11,9 +11,7 @@
 /* Accept any non-null name, its not really a filter at all */
 char filter_accept_all(archive_handle_t *archive_handle)
 {
-	if (archive_handle->file_header->name) {
-		return(EXIT_SUCCESS);
-	} else {
-		return(EXIT_FAILURE);
-	}
+	if (archive_handle->file_header->name)
+		return EXIT_SUCCESS;
+	return EXIT_FAILURE;
 }
diff --git a/archival/libunarchive/filter_accept_list.c b/archival/libunarchive/filter_accept_list.c
index 253021a..cfc1b0c 100644
--- a/archival/libunarchive/filter_accept_list.c
+++ b/archival/libunarchive/filter_accept_list.c
@@ -13,9 +13,7 @@
  */
 char filter_accept_list(archive_handle_t *archive_handle)
 {
-	if (find_list_entry(archive_handle->accept, archive_handle->file_header->name)) {
-		return(EXIT_SUCCESS);
-	} else {
-		return(EXIT_FAILURE);
-	}
+	if (find_list_entry(archive_handle->accept, archive_handle->file_header->name))
+		return EXIT_SUCCESS;
+	return EXIT_FAILURE;
 }
diff --git a/archival/libunarchive/filter_accept_list_reassign.c b/archival/libunarchive/filter_accept_list_reassign.c
index c26f2e0..04b6780 100644
--- a/archival/libunarchive/filter_accept_list_reassign.c
+++ b/archival/libunarchive/filter_accept_list_reassign.c
@@ -30,19 +30,19 @@
 #ifdef CONFIG_FEATURE_DEB_TAR_GZ
 		if (strcmp(name_ptr, ".gz") == 0) {
 			archive_handle->action_data_subarchive = get_header_tar_gz;
-			return(EXIT_SUCCESS);
+			return EXIT_SUCCESS;
 		}
 #endif
 #ifdef CONFIG_FEATURE_DEB_TAR_BZ2
 		if (strcmp(name_ptr, ".bz2") == 0) {
 			archive_handle->action_data_subarchive = get_header_tar_bz2;
-			return(EXIT_SUCCESS);
+			return EXIT_SUCCESS;
 		}
 #endif
 		if (ENABLE_FEATURE_DEB_TAR_LZMA && !strcmp(name_ptr, ".lzma")) {
 			archive_handle->action_data_subarchive = get_header_tar_lzma;
-			return(EXIT_SUCCESS);
+			return EXIT_SUCCESS;
 		}
 	}
-	return(EXIT_FAILURE);
+	return EXIT_FAILURE;
 }
diff --git a/archival/libunarchive/filter_accept_reject_list.c b/archival/libunarchive/filter_accept_reject_list.c
index a3a938c..79da350 100644
--- a/archival/libunarchive/filter_accept_reject_list.c
+++ b/archival/libunarchive/filter_accept_reject_list.c
@@ -19,15 +19,15 @@
 
 	/* If the key is in a reject list fail */
 	if (reject_entry) {
-		return(EXIT_FAILURE);
+		return EXIT_FAILURE;
 	}
 	accept_entry = find_list_entry2(archive_handle->accept, key);
 
 	/* Fail if an accept list was specified and the key wasnt in there */
 	if ((accept_entry == NULL) && archive_handle->accept) {
-		return(EXIT_FAILURE);
+		return EXIT_FAILURE;
 	}
 
 	/* Accepted */
-	return(EXIT_SUCCESS);
+	return EXIT_SUCCESS;
 }
diff --git a/archival/libunarchive/get_header_ar.c b/archival/libunarchive/get_header_ar.c
index 0d040e3..d0791e9 100644
--- a/archival/libunarchive/get_header_ar.c
+++ b/archival/libunarchive/get_header_ar.c
@@ -30,7 +30,7 @@
 	/* dont use xread as we want to handle the error ourself */
 	if (read(archive_handle->src_fd, ar.raw, 60) != 60) {
 		/* End Of File */
-		return(EXIT_FAILURE);
+		return EXIT_FAILURE;
 	}
 
 	/* ar header starts on an even byte (2 byte aligned)
@@ -108,5 +108,5 @@
 	/* Set the file pointer to the correct spot, we may have been reading a compressed file */
 	lseek(archive_handle->src_fd, archive_handle->offset, SEEK_SET);
 
-	return(EXIT_SUCCESS);
+	return EXIT_SUCCESS;
 }
