diff --git a/archival/bz/LICENSE b/archival/bz/LICENSE
index f01f080..da43465 100644
--- a/archival/bz/LICENSE
+++ b/archival/bz/LICENSE
@@ -15,16 +15,16 @@
 1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
 
-2. The origin of this software must not be misrepresented; you must 
-   not claim that you wrote the original software.  If you use this 
-   software in a product, an acknowledgment in the product 
+2. The origin of this software must not be misrepresented; you must
+   not claim that you wrote the original software.  If you use this
+   software in a product, an acknowledgment in the product
    documentation would be appreciated but is not required.
 
 3. Altered source versions must be plainly marked as such, and must
    not be misrepresented as being the original software.
 
-4. The name of the author may not be used to endorse or promote 
-   products derived from this software without specific prior written 
+4. The name of the author may not be used to endorse or promote
+   products derived from this software without specific prior written
    permission.
 
 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
diff --git a/archival/bz/README b/archival/bz/README
index ef06d67..3015342 100644
--- a/archival/bz/README
+++ b/archival/bz/README
@@ -25,12 +25,12 @@
 
 WARNING:
 
-   This program and library (attempts to) compress data by 
-   performing several non-trivial transformations on it.  
-   Unless you are 100% familiar with *all* the algorithms 
-   contained herein, and with the consequences of modifying them, 
-   you should NOT meddle with the compression or decompression 
-   machinery.  Incorrect changes can and very likely *will* 
+   This program and library (attempts to) compress data by
+   performing several non-trivial transformations on it.
+   Unless you are 100% familiar with *all* the algorithms
+   contained herein, and with the consequences of modifying them,
+   you should NOT meddle with the compression or decompression
+   machinery.  Incorrect changes can and very likely *will*
    lead to disastrous loss of data.
 
 
@@ -50,16 +50,16 @@
    PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER
    SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.
 
-   That is not to say this program is inherently unreliable.  
-   Indeed, I very much hope the opposite is true.  bzip2/libbzip2 
+   That is not to say this program is inherently unreliable.
+   Indeed, I very much hope the opposite is true.  bzip2/libbzip2
    has been carefully constructed and extensively tested.
 
 
 PATENTS:
 
-   To the best of my knowledge, bzip2/libbzip2 does not use any 
-   patented algorithms.  However, I do not have the resources 
-   to carry out a patent search.  Therefore I cannot give any 
+   To the best of my knowledge, bzip2/libbzip2 does not use any
+   patented algorithms.  However, I do not have the resources
+   to carry out a patent search.  Therefore I cannot give any
    guarantee of the above statement.
 
 
diff --git a/archival/bz/bzlib.c b/archival/bz/bzlib.c
index 57a6974..f27050a 100644
--- a/archival/bz/bzlib.c
+++ b/archival/bz/bzlib.c
@@ -259,7 +259,7 @@
 	/*Bool progress_in  = False;*/
 	/*Bool progress_out = False;*/
 	EState* s = strm->state;
-	
+
 	while (1) {
 		if (s->state == BZ_S_OUTPUT) {
 			/*progress_out |=*/ copy_output_until_stop(s);
diff --git a/archival/bz/compress.c b/archival/bz/compress.c
index 4bd364e..3e2fbd8 100644
--- a/archival/bz/compress.c
+++ b/archival/bz/compress.c
@@ -414,7 +414,7 @@
 			/*
 			 * Increment the symbol frequencies for the selected table.
 			 */
-/* 1% faster compress. +800 bytes */ 
+/* 1% faster compress. +800 bytes */
 #if CONFIG_BZIP2_FEATURE_SPEED >= 4
 			if (nGroups == 6 && 50 == ge-gs+1) {
 				/*--- fast track the common case ---*/
diff --git a/archival/bz/huffman.c b/archival/bz/huffman.c
index f016c96..3f80c99 100644
--- a/archival/bz/huffman.c
+++ b/archival/bz/huffman.c
@@ -133,7 +133,7 @@
 		}
 
 		AssertH(nHeap < (BZ_MAX_ALPHA_SIZE+2), 2001);
-	
+
 		while (nHeap > 1) {
 			n1 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP1(heap, weight, nHeap);
 			n2 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP1(heap, weight, nHeap);
@@ -160,7 +160,7 @@
 			if (j > maxLen)
 				tooLong = True;
 		}
-		
+
 		if (!tooLong)
 			break;
 
