diff options
-rw-r--r-- | e2fsprogs/fsck.c | 4 | ||||
-rw-r--r-- | include/libbb.h | 2 | ||||
-rw-r--r-- | libbb/compare_string_array.c | 8 |
3 files changed, 7 insertions, 7 deletions
diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c index ae4e3d0..7f7ab3e 100644 --- a/e2fsprogs/fsck.c +++ b/e2fsprogs/fsck.c @@ -1006,11 +1006,11 @@ static int ignore(struct fs_info *fs) if (!fs_match(fs, &fs_type_compiled)) return 1; /* Are we ignoring this type? */ - if(compare_string_array(ignored_types, fs->type)) + if(compare_string_array(ignored_types, fs->type) >= 0) return 1; /* Do we really really want to check this fs? */ - wanted = compare_string_array(really_wanted, fs->type); + wanted = compare_string_array(really_wanted, fs->type) >= 0; /* See if the <fsck.fs> program is available. */ s = find_fsck(fs->type); diff --git a/include/libbb.h b/include/libbb.h index 70a9336..d1c6be6 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -466,7 +466,7 @@ typedef struct { } procps_status_t; extern procps_status_t * procps_scan(int save_user_arg0); -extern unsigned short compare_string_array(const char * const string_array[], const char *key); +extern int 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 8961e00..fc077b3 100644 --- a/libbb/compare_string_array.c +++ b/libbb/compare_string_array.c @@ -17,16 +17,16 @@ #include <string.h> /* returns the array number of the string */ -extern unsigned short +extern int compare_string_array(const char * const string_array[], const char *key) { - unsigned short i; + int i; for (i = 0; string_array[i] != 0; i++) { if (strcmp(string_array[i], key) == 0) { - break; + return i; } } - return(i); + return -i; } |