diff options
Diffstat (limited to 'source3/lib/smbconf/smbconf_util.c')
-rw-r--r-- | source3/lib/smbconf/smbconf_util.c | 21 |
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; +} |