From a4bfb3990be698b1f5c691a73823c040ffe919d5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 16 Jun 2010 05:06:02 +0200 Subject: [PATCH 1/1] strv: introduce strv_find_prefix() --- src/strv.c | 13 ++++++++++++- src/strv.h | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/strv.c b/src/strv.c index a749096f9..2ebd0ee53 100644 --- a/src/strv.c +++ b/src/strv.c @@ -31,7 +31,6 @@ char *strv_find(char **l, const char *name) { char **i; - assert(l); assert(name); STRV_FOREACH(i, l) @@ -41,6 +40,18 @@ char *strv_find(char **l, const char *name) { return NULL; } +char *strv_find_prefix(char **l, const char *name) { + char **i; + + assert(name); + + STRV_FOREACH(i, l) + if (startswith(*i, name)) + return *i; + + return NULL; +} + void strv_free(char **l) { char **k; diff --git a/src/strv.h b/src/strv.h index 11d2ea120..2d24b4e39 100644 --- a/src/strv.h +++ b/src/strv.h @@ -28,6 +28,8 @@ #include "macro.h" char *strv_find(char **l, const char *name); +char *strv_find_prefix(char **l, const char *name); + void strv_free(char **l); char **strv_copy(char **l) _malloc_; unsigned strv_length(char **l); -- 2.30.2