aboutsummaryrefslogtreecommitdiff
path: root/libbb/compare_string_array.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/compare_string_array.c')
-rw-r--r--libbb/compare_string_array.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/libbb/compare_string_array.c b/libbb/compare_string_array.c
index cac93d995..d15578ca3 100644
--- a/libbb/compare_string_array.c
+++ b/libbb/compare_string_array.c
@@ -3,11 +3,11 @@
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
-#include <string.h>
#include "libbb.h"
-/* returns the array number of the string */
-int compare_string_array(const char * const string_array[], const char *key)
+/* returns the array index of the string */
+/* (index of first match is returned, or -1) */
+int index_in_str_array(const char * const string_array[], const char *key)
{
int i;
@@ -16,6 +16,22 @@ int compare_string_array(const char * const string_array[], const char *key)
return i;
}
}
- return -i;
+ return -1;
}
+/* returns the array index of the string, even if it matches only a beginning */
+/* (index of first match is returned, or -1) */
+int index_in_substr_array(const char * const string_array[], const char *key)
+{
+ int i;
+ int len = strlen(key);
+ if (!len)
+ return -1;
+
+ for (i = 0; string_array[i] != 0; i++) {
+ if (strncmp(string_array[i], key, len) == 0) {
+ return i;
+ }
+ }
+ return -1;
+}