diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2009-03-31 15:05:36 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2009-03-30 22:35:36 -0400 |
commit | 66f92cf9d415e96a5bdd6c64de8dd8418595d2fc (patch) | |
tree | 73fe062a18c14cbc96efc4adb8f65cf5421d6a6f | |
parent | aa0d3bb77e780054babcd289484cf4c15180111b (diff) |
strstarts: helper function for !strncmp(str, prefix, strlen(prefix))
Impact: minor new API
ksplice added a "starts_with" function, which seems like a common need.
When people open-code it they seem to use fixed numbers rather than strlen,
so it's quite a readability win (also, strncmp() almost always wants != 0
on it).
So here's strstarts().
Cc: Anders Kaseorg <andersk@mit.edu>
Cc: Jeff Arnold <jbarnold@mit.edu>
Cc: Tim Abbott <tabbott@mit.edu>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r-- | include/linux/string.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/string.h b/include/linux/string.h index d18fc198aa2f..76ec218bb30f 100644 --- a/include/linux/string.h +++ b/include/linux/string.h | |||
@@ -114,5 +114,14 @@ extern bool sysfs_streq(const char *s1, const char *s2); | |||
114 | extern ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos, | 114 | extern ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos, |
115 | const void *from, size_t available); | 115 | const void *from, size_t available); |
116 | 116 | ||
117 | /** | ||
118 | * strstarts - does @str start with @prefix? | ||
119 | * @str: string to examine | ||
120 | * @prefix: prefix to look for. | ||
121 | */ | ||
122 | static inline bool strstarts(const char *str, const char *prefix) | ||
123 | { | ||
124 | return strncmp(str, prefix, strlen(prefix)) == 0; | ||
125 | } | ||
117 | #endif | 126 | #endif |
118 | #endif /* _LINUX_STRING_H_ */ | 127 | #endif /* _LINUX_STRING_H_ */ |