rename: compare_string_array -> index_in_str_array
[oweals/busybox.git] / libbb / compare_string_array.c
index d379feea4981d500707f17ee5752edb854f778cb..d15578ca3605200b3954c54b16fb8f42bd6ab2d1 100644 (file)
@@ -1,13 +1,13 @@
-/* vi:set ts=4:*/
+/* vi: set sw=4 ts=4: */
 /*
  * 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;
+}