summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-01-30 01:52:44 +0100
committerLennart Poettering <lennart@poettering.net>2010-01-30 01:52:44 +0100
commit79d6d8160834fdfc964f4b8b2a6b7fb32c7b36c9 (patch)
treefe60889ffec7168469483d4491ded9642226f5da
parent1dccbe197cc480c1f161f967d180cbc3cc3d2d66 (diff)
add first_word() call
-rw-r--r--util.c19
-rw-r--r--util.h2
2 files changed, 21 insertions, 0 deletions
diff --git a/util.c b/util.c
index 3ce506b0c6..4847310aee 100644
--- a/util.c
+++ b/util.c
@@ -88,6 +88,25 @@ bool startswith(const char *s, const char *prefix) {
return memcmp(s, prefix, pl) == 0;
}
+bool first_word(const char *s, const char *word) {
+ size_t sl, wl;
+
+ assert(s);
+ assert(word);
+
+ sl = strlen(s);
+ wl = strlen(word);
+
+ if (sl < wl)
+ return false;
+
+ if (memcmp(s, word, wl) != 0)
+ return false;
+
+ return (s[wl] == 0 ||
+ strchr(WHITESPACE, s[wl]));
+}
+
int close_nointr(int fd) {
assert(fd >= 0);
diff --git a/util.h b/util.h
index 476b5ae8ab..a9c430f722 100644
--- a/util.h
+++ b/util.h
@@ -60,6 +60,8 @@ static inline bool is_path_absolute(const char *p) {
bool endswith(const char *s, const char *postfix);
bool startswith(const char *s, const char *prefix);
+bool first_word(const char *s, const char *word);
+
int close_nointr(int fd);
void close_nointr_nofail(int fd);