summaryrefslogtreecommitdiff
path: root/source3/lib/smbconf/smbconf_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib/smbconf/smbconf_util.c')
-rw-r--r--source3/lib/smbconf/smbconf_util.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/source3/lib/smbconf/smbconf_util.c b/source3/lib/smbconf/smbconf_util.c
index 99b08cdd70..ee79b6360f 100644
--- a/source3/lib/smbconf/smbconf_util.c
+++ b/source3/lib/smbconf/smbconf_util.c
@@ -122,3 +122,24 @@ bool smbconf_find_in_array(const char *string, char **list,
return false;
}
+
+bool smbconf_reverse_find_in_array(const char *string, char **list,
+ uint32_t num_entries, uint32_t *entry)
+{
+ uint32_t i;
+
+ if ((string == NULL) || (list == NULL) || (num_entries == 0)) {
+ return false;
+ }
+
+ for (i = num_entries - 1; i >= 0; i++) {
+ if (strequal(string, list[i])) {
+ if (entry != NULL) {
+ *entry = i;
+ }
+ return true;
+ }
+ }
+
+ return false;
+}