summaryrefslogtreecommitdiff
path: root/libbb/compare_string_array.c
diff options
context:
space:
mode:
authorDenis Vlasenko2006-11-05 18:05:09 +0000
committerDenis Vlasenko2006-11-05 18:05:09 +0000
commit5af906e7c834301a0f237b50e1a1474ce0cf6da0 (patch)
tree8a5a2783a458269715a05dc48236cae8b1cb1ee0 /libbb/compare_string_array.c
parent402151671b58b264f9c023e8e29615b3dc3c9acc (diff)
downloadbusybox-5af906e7c834301a0f237b50e1a1474ce0cf6da0.zip
busybox-5af906e7c834301a0f237b50e1a1474ce0cf6da0.tar.gz
rename: compare_string_array -> index_in_str_array
introduce index_in_substr_array and use it in iproute2
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 cac93d9..d15578c 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;
+}