From 6ece4e20acd943b49b05a36f14594ad7413c1897 Mon Sep 17 00:00:00 2001
From: Freya Murphy <freya@freyacat.org>
Date: Thu, 27 Mar 2025 14:35:29 -0400
Subject: [PATCH] remove trailing whitespace

---
 Makefile           |  1 +
 boot/boot.S        | 14 +++++++-------
 include/cio.h      |  4 ++--
 include/udefs.h    |  2 +-
 include/x86/arch.h |  3 ---
 include/x86/bios.h |  2 --
 include/x86/ops.h  | 21 ---------------------
 include/x86/pic.h  |  3 ---
 include/x86/pit.h  |  2 +-
 include/x86/uart.h |  1 -
 kernel/isrs.S      |  2 +-
 kernel/kernel.c    |  2 +-
 kernel/procs.c     |  2 +-
 kernel/user.c      |  4 ++--
 user/idle.c        |  2 +-
 util/BuildImage.c  | 33 ++++++++-------------------------
 util/listblob.c    | 25 +++++++------------------
 util/mkblob.c      | 24 +++++++++---------------
 18 files changed, 42 insertions(+), 105 deletions(-)

diff --git a/Makefile b/Makefile
index 437b355..9dc4357 100644
--- a/Makefile
+++ b/Makefile
@@ -34,6 +34,7 @@ build:
 
 fmt:
 	clang-format -i $(shell find -type f -name "*.[ch]")
+	sed -i 's/[ \t]*$$//' $(shell find -type f -name "*.[chS]" -or -name "*.ld")
 
 bin/boot.bin: build
 	cd bin && \
diff --git a/boot/boot.S b/boot/boot.S
index 50d6188..7882672 100644
--- a/boot/boot.S
+++ b/boot/boot.S
@@ -17,7 +17,7 @@
 **
 ** The bootstrap initially sets up a stack in low memory.  Next, it
 ** loads a second sector at 0000:7E00 (immediately following the
-** boot block).  Then it loads the target program at TARGET_ADDR, 
+** boot block).  Then it loads the target program at TARGET_ADDR,
 ** switches to protected mode, and branches to the target program.
 **
 ** NOTE: To zero out the BSS segment, define CLEAR_BSS when this code
@@ -222,11 +222,11 @@ done_loading:
 	call	dispMsg
 
 	jmp	switch		/* move to the next phase */
-	
+
 /*
 ** Support routine - display a message byte by byte to the monitor.
 */
-dispMsg:	
+dispMsg:
 	pushw	%ax
 	pushw	%bx
 repeat:
@@ -238,7 +238,7 @@ repeat:
 	jz	getOut		/* if we've reached the NUL, get out */
 
 	int	$BIOS_VIDEO	/* otherwise, print and repeat */
-	jmp	repeat	
+	jmp	repeat
 
 getOut:				/* we're done, so return */
 	popw	%bx
@@ -373,7 +373,7 @@ switch:
 	movl	%cr0, %eax	/* get current CR0 */
 	orl	$1, %eax	/* set the PE bit */
 	movl	%eax, %cr0	/* and store it back. */
-	
+
 	/*
 	** We'll be in protected mode at the start of the user's code
 	** right after this jump executes.
@@ -447,13 +447,13 @@ enable_A20:
 
 a20wait:	/* wait until bit 1 of the device register is clear */
 	movl    $65536, %ecx	/* loop a lot if need be */
-wait_loop: 
+wait_loop:
 	inb     $KBD_STAT, %al	/* grab the byte */
 	test    $2, %al		/* is the bit clear? */
 	jz      wait_exit	/* yes */
 	loop    wait_loop	/* no, so loop */
 	jmp     a20wait		/* if still not clear, go again */
-wait_exit:    
+wait_exit:
 	ret
 
 a20wait2:	/* like a20wait, but waits until bit 0 is set. */
diff --git a/include/cio.h b/include/cio.h
index 3b78a45..63bf827 100644
--- a/include/cio.h
+++ b/include/cio.h
@@ -11,7 +11,7 @@
 ** Declarations and descriptions of console I/O routines
 **
 **  These routines provide a rudimentary capability for printing to
-**  the screen and reading from the keyboard.  
+**  the screen and reading from the keyboard.
 **
 ** Screen output:
 **  There are two families of functions.  The first provides a window
@@ -50,7 +50,7 @@
 ** Keyboard input:
 **  Two functions are provided: getting a single character and getting
 **  a newline-terminated line.  A third function returns a count of
-**  the number of characters available for immediate reading. 
+**  the number of characters available for immediate reading.
 **  No conversions are provided (yet).
 */
 
diff --git a/include/udefs.h b/include/udefs.h
index ff74578..aac22d7 100644
--- a/include/udefs.h
+++ b/include/udefs.h
@@ -43,7 +43,7 @@
 	} while (0)
 
 /*
-** We need the list of program IDs so that we can request 
+** We need the list of program IDs so that we can request
 ** their execution
 */
 
diff --git a/include/x86/arch.h b/include/x86/arch.h
index a0a0b45..df0b2e2 100644
--- a/include/x86/arch.h
+++ b/include/x86/arch.h
@@ -41,7 +41,6 @@
 ** See IA-32 Intel Architecture SW Dev. Manual, Volume 3: System
 ** Programming Guide, page 2-8.
 */
-
 /*
 ** EFLAGS
 */
@@ -142,7 +141,6 @@
 **    4:    base address 23:16
 **    7:    base address 31:24
 */
-
 /*
 ** Byte 5:    access control bits
 **    7:    present
@@ -261,7 +259,6 @@
 /*
 ** Interrupt vectors
 */
-
 // predefined by the architecture
 #define VEC_DIVIDE_ERROR 0x00
 #define VEC_DEBUG_EXCEPTION 0x01
diff --git a/include/x86/bios.h b/include/x86/bios.h
index cf9f8ec..f1debbf 100644
--- a/include/x86/bios.h
+++ b/include/x86/bios.h
@@ -12,13 +12,11 @@
 /*
 ** BIOS-related memory addresses
 */
-
 #define BIOS_BDA 0x0400
 
 /*
 ** Selected BIOS interrupt numbers
 */
-
 #define BIOS_TIMER 0x08
 #define BIOS_KBD 0x09
 #define BIOS_VIDEO 0x10
diff --git a/include/x86/ops.h b/include/x86/ops.h
index 97ecdd6..81167a1 100644
--- a/include/x86/ops.h
+++ b/include/x86/ops.h
@@ -54,7 +54,6 @@ static inline void movsb(void *dst, const void *src, uint32_t len) OPSINLINED
 						 :
 						 : "memory");
 }
-
 static inline void movsw(void *dst, const void *src, uint32_t len) OPSINLINED
 {
 	__asm__ __volatile__("cld; rep movsw"
@@ -62,7 +61,6 @@ static inline void movsw(void *dst, const void *src, uint32_t len) OPSINLINED
 						 :
 						 : "memory");
 }
-
 static inline void movsl(void *dst, const void *src, uint32_t len) OPSINLINED
 {
 	__asm__ __volatile__("cld; rep movsl"
@@ -70,7 +68,6 @@ static inline void movsl(void *dst, const void *src, uint32_t len) OPSINLINED
 						 :
 						 : "memory");
 }
-
 static inline void movsq(void *dst, const void *src, uint32_t len) OPSINLINED
 {
 	__asm__ __volatile__("cld; rep movsq"
@@ -97,7 +94,6 @@ static inline void stosb(void *dst, uint8_t val, uint32_t len) OPSINLINED
 						 : "0"(dst), "1"(len), "a"(val)
 						 : "memory", "cc");
 }
-
 static inline void stosw(void *dst, uint16_t val, uint32_t len) OPSINLINED
 {
 	__asm__ __volatile__("cld; rep stos2"
@@ -105,7 +101,6 @@ static inline void stosw(void *dst, uint16_t val, uint32_t len) OPSINLINED
 						 : "0"(dst), "1"(len), "a"(val)
 						 : "memory", "cc");
 }
-
 static inline void stosl(void *dst, uint32_t val, uint32_t len) OPSINLINED
 {
 	__asm__ __volatile__("cld; rep stosl"
@@ -134,42 +129,36 @@ static inline uint32_t r_cr0(void) OPSINLINED
 	__asm__ __volatile__("movl %%cr0,%0" : "=r"(val));
 	return val;
 }
-
 static inline uint32_t r_cr2(void) OPSINLINED
 {
 	uint32_t val;
 	__asm__ __volatile__("movl %%cr2,%0" : "=r"(val));
 	return val;
 }
-
 static inline uint32_t r_cr3(void) OPSINLINED
 {
 	uint32_t val;
 	__asm__ __volatile__("movl %%cr3,%0" : "=r"(val));
 	return val;
 }
-
 static inline uint32_t r_cr4(void) OPSINLINED
 {
 	uint32_t val;
 	__asm__ __volatile__("movl %%cr4,%0" : "=r"(val));
 	return val;
 }
-
 static inline uint32_t r_eflags(void) OPSINLINED
 {
 	uint32_t val;
 	__asm__ __volatile__("pushfl; popl %0" : "=r"(val));
 	return val;
 }
-
 static inline uint32_t r_ebp(void) OPSINLINED
 {
 	uint32_t val;
 	__asm__ __volatile__("movl %%ebp,%0" : "=r"(val));
 	return val;
 }
-
 static inline uint32_t r_esp(void) OPSINLINED
 {
 	uint32_t val;
@@ -188,22 +177,18 @@ static inline void w_cr0(uint32_t val) OPSINLINED
 {
 	__asm__ __volatile__("movl %0,%%cr0" : : "r"(val));
 }
-
 static inline void w_cr2(uint32_t val) OPSINLINED
 {
 	__asm__ __volatile__("movl %0,%%cr2" : : "r"(val));
 }
-
 static inline void w_cr3(uint32_t val) OPSINLINED
 {
 	__asm__ __volatile__("movl %0,%%cr3" : : "r"(val));
 }
-
 static inline void w_cr4(uint32_t val) OPSINLINED
 {
 	__asm__ __volatile__("movl %0,%%cr4" : : "r"(val));
 }
-
 static inline void w_eflags(uint32_t eflags) OPSINLINED
 {
 	__asm__ __volatile__("pushl %0; popfl" : : "r"(eflags));
@@ -222,7 +207,6 @@ static inline void w_gdt(void *addr) OPSINLINED
 {
 	__asm__ __volatile__("lgdt (%0)" : : "r"(addr));
 }
-
 static inline void w_idt(void *addr) OPSINLINED
 {
 	__asm__ __volatile__("lidt (%0)" : : "r"(addr));
@@ -246,7 +230,6 @@ static inline void cpuid(uint32_t op, uint32_t *ap, uint32_t *bp, uint32_t *cp,
 	__asm__ __volatile__("cpuid"
 						 : "=a"(eax), "=b"(ebx), "=c"(ecx), "=d"(edx)
 						 : "a"(op));
-
 	if (ap)
 		*ap = eax;
 	if (bp)
@@ -308,14 +291,12 @@ static inline uint8_t inb(int port) OPSINLINED
 	__asm__ __volatile__("inb %w1,%0" : "=a"(data) : "d"(port));
 	return data;
 }
-
 static inline uint16_t inw(int port) OPSINLINED
 {
 	uint16_t data;
 	__asm__ __volatile__("inw %w1,%0" : "=a"(data) : "d"(port));
 	return data;
 }
-
 static inline uint32_t inl(int port) OPSINLINED
 {
 	uint32_t data;
@@ -339,12 +320,10 @@ static inline void outb(int port, uint8_t data) OPSINLINED
 {
 	__asm__ __volatile__("outb %0,%w1" : : "a"(data), "d"(port));
 }
-
 static inline void outw(int port, uint16_t data) OPSINLINED
 {
 	__asm__ __volatile__("outw %0,%w1" : : "a"(data), "d"(port));
 }
-
 static inline void outl(int port, uint32_t data) OPSINLINED
 {
 	__asm__ __volatile__("outl %0,%w1" : : "a"(data), "d"(port));
diff --git a/include/x86/pic.h b/include/x86/pic.h
index 797799a..ae3fe6c 100644
--- a/include/x86/pic.h
+++ b/include/x86/pic.h
@@ -16,7 +16,6 @@
 ** Our expected configuration is two PICs, with the secondary connected
 ** through the IRQ2 pin of the primary.
 */
-
 /*
 ** Port addresses for the command port and interrupt mask register port
 ** for both the primary and secondary PICs.
@@ -42,7 +41,6 @@
 ** PIC2_* defines are intended for the secondary PIC
 ** PIC_* defines are sent to both PICs
 */
-
 /*
 ** ICW1: initialization, send to command port
 */
@@ -79,7 +77,6 @@
 **
 ** After the init sequence, can send these
 */
-
 /*
 ** OCW1: interrupt mask; send to data port
 */
diff --git a/include/x86/pit.h b/include/x86/pit.h
index 854b76a..0c54539 100644
--- a/include/x86/pit.h
+++ b/include/x86/pit.h
@@ -25,7 +25,6 @@
 ** M   - mode
 ** BCD - binary or BCD counter
 */
-
 /* Frequency settings */
 #define PIT_DEFAULT_TICKS_PER_SECOND 18 // actually 18.2065Hz
 #define PIT_DEFAULT_MS_PER_TICK (1000 / PIT_DEFAULT_TICKS_PER_SECOND)
@@ -68,6 +67,7 @@
 #define PIT_2_RATE 0x06 // square-wave, for USART
 
 /* Timer read-back */
+
 #define PIT_READBACK 0xc0 // perform a read-back
 #define PIT_RB_NOT_COUNT 0x20 // don't latch the count
 #define PIT_RB_NOT_STATUS 0x10 // don't latch the status
diff --git a/include/x86/uart.h b/include/x86/uart.h
index 3ec2b8f..293b7b7 100644
--- a/include/x86/uart.h
+++ b/include/x86/uart.h
@@ -66,7 +66,6 @@
 ** accessed (0 selects Line Control, 1 selects Divisor Latch), with the
 ** remaining bits selecting fields within the indicated register.
 */
-
 /*
 ** Receiver Data Register (read-only)
 */
diff --git a/kernel/isrs.S b/kernel/isrs.S
index f6bd662..ec539f2 100644
--- a/kernel/isrs.S
+++ b/kernel/isrs.S
@@ -183,7 +183,7 @@ isr_restore:
 /*
 ** DEBUGGING CODE PART 1
 **
-** This code will execute during each context restore, and 
+** This code will execute during each context restore, and
 ** should be modified to print out whatever debugging information
 ** is desired.
 **
diff --git a/kernel/kernel.c b/kernel/kernel.c
index 4a1fd07..1b940df 100644
--- a/kernel/kernel.c
+++ b/kernel/kernel.c
@@ -319,7 +319,7 @@ int main(void)
 
 	/*
 	** Create the initial user process
-	** 
+	**
 	** This code is largely stolen from the fork() and exec()
 	** implementations in syscalls.c; if those change, this must
 	** also change.
diff --git a/kernel/procs.c b/kernel/procs.c
index 64edb49..88589d0 100644
--- a/kernel/procs.c
+++ b/kernel/procs.c
@@ -339,7 +339,7 @@ void pcb_zombify(register pcb_t *victim)
 	**
 	** Also note: it's possible that the exiting process' parent is
 	** also init, which means we're letting one of zombie children
-	** of the exiting process be cleaned up by init before the 
+	** of the exiting process be cleaned up by init before the
 	** existing process itself is cleaned up by init. This will work,
 	** because after init cleans up the zombie, it will loop and
 	** call waitpid() again, by which time this exiting process will
diff --git a/kernel/user.c b/kernel/user.c
index a019430..7c475e8 100644
--- a/kernel/user.c
+++ b/kernel/user.c
@@ -35,7 +35,7 @@
 ** Location of the "user blob" in memory.
 **
 ** These variables are filled in by the code in startup.S using values
-** passed to it from the bootstrap. 
+** passed to it from the bootstrap.
 **
 ** These are visible so that the startup code can find them.
 */
@@ -503,7 +503,7 @@ static context_t *stack_setup(pcb_t *pcb, uint32_t entry, const char **args)
 	** The user code was linked with a startup function that defines
 	** the entry point (_start), calls main(), and then calls exit()
 	** if main() returns. We need to set up the stack this way:
-	** 
+	**
 	**      esp ->  context      <- context save area
 	**              ...          <- context save area
 	**              context      <- context save area
diff --git a/user/idle.c b/user/idle.c
index acf8497..c088a3c 100644
--- a/user/idle.c
+++ b/user/idle.c
@@ -4,7 +4,7 @@
 ** Idle process:  write, getpid, gettime, exit
 **
 ** Reports itself, then loops forever delaying and printing a character.
-** MUST NOT SLEEP, as it must always be available in the ready queue 
+** MUST NOT SLEEP, as it must always be available in the ready queue
 ** when there is no other process to dispatch.
 **
 ** Invoked as:	idle
diff --git a/util/BuildImage.c b/util/BuildImage.c
index 42430ce..f8e35f0 100644
--- a/util/BuildImage.c
+++ b/util/BuildImage.c
@@ -29,7 +29,6 @@
 #define DRIVE_USB 0x80
 
 #define SECT_SIZE 512
-
 char *progname; /* invocation name of this program */
 char *bootstrap_filename; /* path of file holding bootstrap program */
 char *output_filename; /* path of disk image file */
@@ -45,9 +44,7 @@ short drive = DRIVE_USB; /* boot drive */
 ** device) are the only limiting factors on how many program sections
 ** can be loaded.
 */
-
 #define N_INFO (SECT_SIZE / sizeof(short))
-
 short info[N_INFO];
 int n_info = N_INFO;
 
@@ -69,6 +66,7 @@ void quit(char *msg, int call_perror)
 		errno = err_num;
 		if (call_perror) {
 			perror(msg);
+
 		} else {
 			fprintf(stderr, "%s\n", msg);
 		}
@@ -77,9 +75,9 @@ void quit(char *msg, int call_perror)
 		unlink(output_filename);
 	}
 	exit(EXIT_FAILURE);
+
 	// NOTREACHED
 }
-
 const char usage_error_msg[] =
 	"\nUsage: %s [ -d drive ] -b bootfile -o outfile { progfile loadpt } "
 	"...\n\n"
@@ -100,6 +98,7 @@ void usage_error(void)
 {
 	fprintf(stderr, usage_error_msg, progname);
 	quit(NULL, FALSE);
+
 	// NOTREACHED
 }
 
@@ -127,7 +126,6 @@ int copy_file(FILE *in)
 		// pad this sector out to block size
 		if (n_bytes < sizeof(buf)) {
 			int i;
-
 			for (i = n_bytes; i < sizeof(buf); i += 1) {
 				buf[i] = '\0';
 			}
@@ -180,25 +178,24 @@ void process_file(char *name, char *addr)
 		if (strlen(addr) == 9 && cp == addr + 4) {
 			char *ep1, *ep2;
 			int a1, a2;
-
 			segment = strtol(addr, &ep1, 16);
 			offset = strtol(addr + 5, &ep2, 16);
 			address = (segment << 4) + offset;
 			valid_address = *ep1 == '\0' && *ep2 == '\0';
+
 		} else {
 			fprintf(stderr, "Bad address format - '%s'\n", addr);
 			quit(NULL, FALSE);
 		}
+
 	} else {
 		// just a number, possibly hex or octal
 		char *ep;
-
 		address = strtol(addr, &ep, 0);
 		segment = (short)(address >> 4);
 		offset = (short)(address & 0xf);
 		valid_address = *ep == '\0' && address <= 0x0009ffff;
 	}
-
 	if (!valid_address) {
 		fprintf(stderr, "%s: Invalid address: %s\n", progname, addr);
 		quit(NULL, FALSE);
@@ -212,7 +209,6 @@ void process_file(char *name, char *addr)
 				(unsigned int)address);
 		quit(NULL, FALSE);
 	}
-
 	if (n_info < 3) {
 		quit("Too many programs!", FALSE);
 	}
@@ -222,7 +218,6 @@ void process_file(char *name, char *addr)
   */
 	fprintf(stderr, "  %s: %d sectors, loaded at 0x%x\n", name, n_sectors,
 			(unsigned int)address);
-
 	info[--n_info] = n_sectors;
 	info[--n_info] = segment;
 	info[--n_info] = offset;
@@ -231,7 +226,6 @@ void process_file(char *name, char *addr)
 /*
 ** Global variables set by getopt()
 */
-
 extern int optind, optopt;
 extern char *optarg;
 
@@ -244,21 +238,17 @@ extern char *optarg;
 void process_args(int ac, char **av)
 {
 	int c;
-
 	while ((c = getopt(ac, av, ":d:o:b:")) != EOF) {
 		switch (c) {
 		case ':': /* missing arg value */
 			fprintf(stderr, "missing operand after -%c\n", optopt);
-			/* FALL THROUGH */
 
-		case '?': /* error */
+		/* FALL THROUGH */ case '?': /* error */
 			usage_error();
-			/* NOTREACHED */
 
-		case 'b': /* -b bootstrap_file */
+		/* NOTREACHED */ case 'b': /* -b bootstrap_file */
 			bootstrap_filename = optarg;
 			break;
-
 		case 'd': /* -d drive */
 			switch (*optarg) {
 			case 'f':
@@ -271,21 +261,17 @@ void process_args(int ac, char **av)
 				usage_error();
 			}
 			break;
-
 		case 'o': /* -o output_file */
 			output_filename = optarg;
 			break;
-
 		default:
 			usage_error();
 		}
 	}
-
 	if (!bootstrap_filename) {
 		fprintf(stderr, "%s: no bootstrap file specified\n", progname);
 		exit(2);
 	}
-
 	if (!output_filename) {
 		fprintf(stderr, "%s: no disk image file specified\n", progname);
 		exit(2);
@@ -326,6 +312,7 @@ int main(int ac, char **av)
 	progname = strrchr(av[0], '/');
 	if (progname != NULL) {
 		progname++;
+
 	} else {
 		progname = av[0];
 	}
@@ -338,7 +325,6 @@ int main(int ac, char **av)
 	/*
   ** Open the output file
   */
-
 	out = fopen(output_filename, "wb+");
 	if (out == NULL) {
 		quit(output_filename, TRUE);
@@ -358,7 +344,6 @@ int main(int ac, char **av)
   */
 	int n_sectors = copy_file(bootimage);
 	fclose(bootimage);
-
 	bootimage_size = n_sectors * SECT_SIZE;
 	fprintf(stderr, "  %s: %d sectors\n", bootstrap_filename, n_sectors);
 
@@ -414,8 +399,6 @@ int main(int ac, char **av)
   */
 	fseek(out, 508, SEEK_SET);
 	fwrite((void *)&drive, sizeof(drive), 1, out);
-
 	fclose(out);
-
 	return EXIT_SUCCESS;
 }
diff --git a/util/listblob.c b/util/listblob.c
index f756a05..ccae1d0 100644
--- a/util/listblob.c
+++ b/util/listblob.c
@@ -5,6 +5,7 @@
 **
 ** Examine a binary blob of ELF files.
 */
+
 #define _DEFAULT_SOURCE
 #include <ctype.h>
 #include <elf.h>
@@ -39,11 +40,11 @@
 **		size         Size of this ELF file, in bytes
 **		flags        Flags related to this file
 */
-
 // blob header: 8 bytes
 typedef struct header_s {
 	char magic[4];
 	uint32_t num;
+
 } header_t;
 
 // The program table entry is 32 bytes long. To accomplish this, the
@@ -72,8 +73,8 @@ typedef struct prog_s {
 typedef struct node_s {
 	prog_t *data;
 	struct node_s *next;
-} node_t;
 
+} node_t;
 node_t *progs, *last_prog; // list pointers
 uint32_t n_progs; // number of files being copied
 uint32_t offset; // current file area offset
@@ -128,12 +129,11 @@ void process(uint32_t num, prog_t *prog)
 		char *slash = strrchr(prog->name, '/');
 		if (slash == NULL) {
 			slash = prog->name;
+
 		} else {
 			++slash;
 		}
-
 		slash[0] = toupper(slash[0]);
-
 		if (defs) {
 			// just printing #define statements
 			printf("#define %-15s %2d\n", prog->name, num);
@@ -144,6 +144,7 @@ void process(uint32_t num, prog_t *prog)
 				// first one, so print the file header
 				puts(header);
 				putchar('\t');
+
 			} else {
 				// second or later entry; limit to 8 per line
 				fputs(((num & 0x7) == 0) ? ",\n\t" : ", ", stdout);
@@ -159,65 +160,56 @@ void process(uint32_t num, prog_t *prog)
 			   prog->size, prog->flags);
 	}
 }
-
 void usage(char *name)
 {
 	fprintf(stderr, "usage: %s [-d | -e] blob_name\n", name);
 }
-
 int main(int argc, char *argv[])
 {
 	if (argc < 2 || argc > 3) {
 		usage(argv[0]);
 		exit(1);
 	}
-
 	int nameix = 1;
 
 	// could use getopt() for this, but this is easy enough
 	if (argc == 3) {
 		if (strcmp(argv[1], "-d") == 0) {
 			defs = true;
+
 		} else if (strcmp(argv[1], "-e") == 0) {
 			enums = true;
+
 		} else {
 			usage(argv[0]);
 			exit(1);
 		}
 		nameix = 2;
 	}
-
 	char *name = argv[nameix];
-
 	int fd = open(name, O_RDONLY);
 	if (fd < 0) {
 		perror(name);
 		exit(1);
 	}
-
 	header_t hdr;
-
 	int n = read(fd, &hdr, sizeof(header_t));
 	if (n != sizeof(header_t)) {
 		fprintf(stderr, "%s: header read returned only %d bytes\n", name, n);
 		close(fd);
 		exit(1);
 	}
-
 	if (strcmp(hdr.magic, "BLB") != 0) {
 		fprintf(stderr, "%s: bad magic number\n", name);
 		close(fd);
 		exit(1);
 	}
-
 	if (hdr.num < 1) {
 		fprintf(stderr, "%s: no programs in blob?\n", name);
 		close(fd);
 		exit(1);
 	}
-
 	prog_t progs[hdr.num];
-
 	n = read(fd, progs, hdr.num * sizeof(prog_t));
 	if (n != (int)(hdr.num * sizeof(prog_t))) {
 		fprintf(stderr, "%s: prog table only %d bytes, expected %lu\n", name, n,
@@ -225,16 +217,13 @@ int main(int argc, char *argv[])
 		close(fd);
 		exit(1);
 	}
-
 	for (uint32_t i = 0; i < hdr.num; ++i) {
 		process(i, &progs[i]);
 	}
-
 	if (enums) {
 		// print the file trailer
 		puts(trailer);
 	}
-
 	close(fd);
 	return 0;
 }
diff --git a/util/mkblob.c b/util/mkblob.c
index db7bfc4..fdf0680 100644
--- a/util/mkblob.c
+++ b/util/mkblob.c
@@ -5,6 +5,7 @@
 **
 ** Create a binary blob from a collection of ELF files.
 */
+
 #define _DEFAULT_SOURCE
 
 #include <elf.h>
@@ -38,11 +39,11 @@
 **		size         Size of this ELF file, in bytes
 **		flags        Flags related to this file
 */
-
 // blob header
 typedef struct header_s {
 	char magic[4];
 	uint32_t num;
+
 } header_t;
 
 // length of the file name field
@@ -67,8 +68,8 @@ typedef struct node_s {
 	prog_t *data;
 	char *fullname;
 	struct node_s *next;
-} node_t;
 
+} node_t;
 node_t *progs, *last_prog; // list pointers
 uint32_t n_progs; // number of files being copied
 uint32_t offset; // current file area offset
@@ -114,12 +115,10 @@ void process(const char *name)
 	Elf32_Ehdr hdr;
 	int n = read(fd, &hdr, sizeof(Elf32_Ehdr));
 	close(fd);
-
 	if (n != sizeof(Elf32_Ehdr)) {
 		fprintf(stderr, "%s: header read was short - only %d\n", name, n);
 		return;
 	}
-
 	if (hdr.e_ident[EI_MAG0] != ELFMAG0 || hdr.e_ident[EI_MAG1] != ELFMAG1 ||
 		hdr.e_ident[EI_MAG2] != ELFMAG2 || hdr.e_ident[EI_MAG3] != ELFMAG3) {
 		fprintf(stderr, "%s: bad ELF magic number\n", name);
@@ -132,14 +131,12 @@ void process(const char *name)
 		fprintf(stderr, "%s: calloc prog returned NULL\n", name);
 		return;
 	}
-
 	node_t *node = calloc(1, sizeof(node_t));
 	if (node == NULL) {
 		free(new);
 		fprintf(stderr, "%s: calloc node returned NULL\n", name);
 		return;
 	}
-
 	node->data = new;
 	node->fullname = strdup(name);
 
@@ -150,11 +147,11 @@ void process(const char *name)
 	if (slash == NULL) {
 		// only the file name
 		slash = name;
+
 	} else {
 		// skip the slash
 		++slash;
 	}
-
 	strncpy(new->name, slash, sizeof(new->name) - 1);
 	new->offset = offset;
 	new->size = info.st_size;
@@ -167,6 +164,7 @@ void process(const char *name)
 	if ((info.st_size & FSIZE_MASK) != 0) {
 		// nope, so we must round it up when we write it out
 		new->flags |= FL_ROUNDUP;
+
 		// increases the offset to the next file
 		offset += 8 - (info.st_size & FSIZE_MASK);
 	}
@@ -175,6 +173,7 @@ void process(const char *name)
 	if (progs == NULL) {
 		// first entry
 		progs = node;
+
 	} else {
 		// add to the end
 		if (last_prog == NULL) {
@@ -207,23 +206,24 @@ void copy(FILE *ofd, node_t *node)
 		perror(node->fullname);
 		return;
 	}
-
 	uint8_t buf[512];
 
 	// copy it block-by-block
 	do {
 		int n = read(fd, buf, 512);
+
 		// no bytes --> we're done
 		if (n < 1) {
 			break;
 		}
+
 		// copy it, and verify the copy count
 		int k = fwrite(buf, 1, n, ofd);
 		if (k != n) {
 			fprintf(stderr, "%s: write of %d returned %d\n", prog->name, n, k);
 		}
-	} while (1);
 
+	} while (1);
 	printf("%s: copied %d", prog->name, prog->size);
 
 	// do we need to round up?
@@ -249,14 +249,12 @@ void copy(FILE *ofd, node_t *node)
 	// all done!
 	close(fd);
 }
-
 int main(int argc, char *argv[])
 {
 	// construct program list
 	for (int i = 1; i < argc; ++i) {
 		process(argv[i]);
 	}
-
 	if (n_progs < 1) {
 		fputs("Nothing to do... exiting.", stderr);
 		exit(0);
@@ -269,14 +267,12 @@ int main(int argc, char *argv[])
 		perror("user.img");
 		exit(1);
 	}
-
 	printf("Processing %d ELF files\n", n_progs);
 
 	// we need to adjust the offset values so they are relative to the
 	// start of the blob, not relative to the start of the file area.
 	// do this by adding the sum of the file header and program entries
 	// to each offset field.
-
 	uint32_t hlen = sizeof(header_t) + n_progs * sizeof(prog_t);
 	node_t *curr = progs;
 	while (curr != NULL) {
@@ -314,8 +310,6 @@ int main(int argc, char *argv[])
 		free(tmp->fullname);
 		free(tmp);
 	}
-
 	fclose(ofd);
-
 	return 0;
 }