Add startswith() helper function
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Wed, 30 Nov 2011 21:20:19 +0000 (19:20 -0200)
committerLucas De Marchi <lucas.demarchi@profusion.mobi>
Wed, 30 Nov 2011 21:20:19 +0000 (19:20 -0200)
libkmod/libkmod-private.h
libkmod/libkmod-util.c

index 7f6c2d1..4abea76 100644 (file)
@@ -72,5 +72,6 @@ const char *kmod_alias_get_modname(const struct kmod_list *l);
 char *getline_wrapped(FILE *fp, unsigned int *linenum);
 char *underscores(struct kmod_ctx *ctx, char *s);
 #define streq(a, b) (strcmp((a), (b)) == 0)
+bool startswith(const char *s, const char *prefix);
 
 #endif
index 1e58b99..556dfcd 100644 (file)
@@ -17,6 +17,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stddef.h>
@@ -115,3 +116,20 @@ char *underscores(struct kmod_ctx *ctx, char *s)
        return s;
 }
 
+bool startswith(const char *s, const char *prefix) {
+        size_t sl, pl;
+
+        assert(s);
+        assert(prefix);
+
+        sl = strlen(s);
+        pl = strlen(prefix);
+
+        if (pl == 0)
+                return true;
+
+        if (sl < pl)
+                return false;
+
+        return memcmp(s, prefix, pl) == 0;
+}