OSDN Git Service

Forgot to check in strstart().
authorRob Landley <rob@landley.net>
Mon, 9 Jun 2014 12:12:49 +0000 (07:12 -0500)
committerRob Landley <rob@landley.net>
Mon, 9 Jun 2014 12:12:49 +0000 (07:12 -0500)
lib/lib.c
lib/lib.h

index bbe8f33..fa0b777 100644 (file)
--- a/lib/lib.c
+++ b/lib/lib.c
@@ -280,6 +280,16 @@ int stridx(char *haystack, char needle)
   return off-haystack;
 }
 
+// If *a starts with b, advance *a past it and return 1, else return 0;
+int strstart(char **a, char *b)
+{
+  int len = strlen(b), i = !strncmp(*a, b, len);
+
+  if (i) *a += len;
+
+  return i;
+}
+
 // Return how long the file at fd is, if there's any way to determine it.
 off_t fdlength(int fd)
 {
index a246618..dfbe5e1 100644 (file)
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -145,6 +145,7 @@ long atolx(char *c);
 long atolx_range(char *numstr, long low, long high);
 int numlen(long l);
 int stridx(char *haystack, char needle);
+int strstart(char **a, char *b);
 off_t fdlength(int fd);
 void loopfiles_rw(char **argv, int flags, int permissions, int failok,
   void (*function)(int fd, char *name));