diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c
index b7e25d6..ae4e3d0 100644
--- a/e2fsprogs/fsck.c
+++ b/e2fsprogs/fsck.c
@@ -988,8 +988,7 @@
 /* Check if we should ignore this filesystem. */
 static int ignore(struct fs_info *fs)
 {
-	const char * const *ip;
-	int wanted = 0;
+	int wanted;
 	char *s;
 
 	/*
@@ -1007,15 +1006,11 @@
 	if (!fs_match(fs, &fs_type_compiled)) return 1;
 
 	/* Are we ignoring this type? */
-	for(ip = ignored_types; *ip; ip++)
-		if (strcmp(fs->type, *ip) == 0) return 1;
+	if(compare_string_array(ignored_types, fs->type))
+		return 1;
 
 	/* Do we really really want to check this fs? */
-	for(ip = really_wanted; *ip; ip++)
-		if (strcmp(fs->type, *ip) == 0) {
-			wanted = 1;
-			break;
-		}
+	wanted = compare_string_array(really_wanted, fs->type);
 
 	/* See if the <fsck.fs> program is available. */
 	s = find_fsck(fs->type);
diff --git a/include/libbb.h b/include/libbb.h
index b7dd487..70a9336 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -466,7 +466,7 @@
 } procps_status_t;
 
 extern procps_status_t * procps_scan(int save_user_arg0);
-extern unsigned short compare_string_array(const char *string_array[], const char *key);
+extern unsigned short compare_string_array(const char * const string_array[], const char *key);
 
 extern int my_query_module(const char *name, int which, void **buf, size_t *bufsize, size_t *ret);
 
diff --git a/libbb/compare_string_array.c b/libbb/compare_string_array.c
index 993b462..8961e00 100644
--- a/libbb/compare_string_array.c
+++ b/libbb/compare_string_array.c
@@ -17,7 +17,8 @@
 #include <string.h>
 
 /* returns the array number of the string */
-extern unsigned short compare_string_array(const char *string_array[], const char *key)
+extern unsigned short 
+compare_string_array(const char * const string_array[], const char *key)
 {
 	unsigned short i;
 
