diff --git a/e2fsprogs/old_e2fsprogs/ext2fs/res_gdt.c b/e2fsprogs/old_e2fsprogs/ext2fs/res_gdt.c
index f7ee8b1..31cc89e 100644
--- a/e2fsprogs/old_e2fsprogs/ext2fs/res_gdt.c
+++ b/e2fsprogs/old_e2fsprogs/ext2fs/res_gdt.c
@@ -113,7 +113,7 @@
 		inode_size *= fs->blocksize;
 		inode.i_size = inode_size & 0xFFFFFFFF;
 		inode.i_size_high = (inode_size >> 32) & 0xFFFFFFFF;
-		if(inode.i_size_high) {
+		if (inode.i_size_high) {
 			sb->s_feature_ro_compat |=
 				EXT2_FEATURE_RO_COMPAT_LARGE_FILE;
 		}
diff --git a/e2fsprogs/old_e2fsprogs/mke2fs.c b/e2fsprogs/old_e2fsprogs/mke2fs.c
index 852c249..6ffad35 100644
--- a/e2fsprogs/old_e2fsprogs/mke2fs.c
+++ b/e2fsprogs/old_e2fsprogs/mke2fs.c
@@ -676,7 +676,7 @@
 		return 1;
 	}
 
-	if((sb->s_creator_os = e2p_string2os(os)) >= 0) {
+	if ((sb->s_creator_os = e2p_string2os(os)) >= 0) {
 		return 1;
 	} else if (!strcasecmp("GNU", os)) {
 		sb->s_creator_os = EXT2_OS_HURD;
@@ -1187,7 +1187,7 @@
 
 	if (ENABLE_FEATURE_CLEAN_UP)
 		atexit(mke2fs_clean_up);
-	if(!PRS(argc, argv))
+	if (!PRS(argc, argv))
 		return 0;
 
 #ifdef CONFIG_TESTIO_DEBUG
diff --git a/e2fsprogs/old_e2fsprogs/util.c b/e2fsprogs/old_e2fsprogs/util.c
index b30c294..ce49db9 100644
--- a/e2fsprogs/old_e2fsprogs/util.c
+++ b/e2fsprogs/old_e2fsprogs/util.c
@@ -37,7 +37,7 @@
 	val = stat(device, &s);
 	if (force)
 		return;
-	if(val == -1)
+	if (val == -1)
 		bb_perror_msg_and_die("cannot stat %s", device);
 	if (!S_ISBLK(s.st_mode)) {
 		printf("%s is not a block special device.\n", device);
@@ -220,13 +220,13 @@
 					fs->blocksize, io_ptr, &jfs);
 	if (retval)
 		bb_error_msg_and_die("cannot journal device %s", journal_device);
-	if(!quiet)
+	if (!quiet)
 		printf("Adding journal to device %s: ", journal_device);
 	fflush(stdout);
 	retval = ext2fs_add_journal_device(fs, jfs);
-	if(retval)
+	if (retval)
 		bb_error_msg_and_die("\nFailed to add journal to device %s", journal_device);
-	if(!quiet)
+	if (!quiet)
 		puts("done");
 	ext2fs_close(jfs);
 }
@@ -242,14 +242,14 @@
 			~EXT3_FEATURE_COMPAT_HAS_JOURNAL;
 		return;
 	}
-	if(!quiet)
+	if (!quiet)
 		printf("Creating journal (%ld blocks): ", journal_blocks);
 	fflush(stdout);
 	retval = ext2fs_add_journal_inode(fs, journal_blocks,
 						  journal_flags);
-	if(retval)
+	if (retval)
 		bb_error_msg_and_die("cannot create journal");
-	if(!quiet)
+	if (!quiet)
 		puts("done");
 }
 
@@ -262,6 +262,6 @@
 		oldpath = xasprintf("%s:%s", PATH_SET, oldpath);
 	 else
 		oldpath = PATH_SET;
-	putenv (oldpath);
+	putenv(oldpath);
 	return oldpath;
 }
