changeset 1345:b7598d21ca10 draft

Forgot to check in strstart().
author Rob Landley <rob@landley.net>
date Mon, 09 Jun 2014 07:12:49 -0500
parents 788c6c097fa2
children ef63b63230ee
files lib/lib.c lib/lib.h
diffstat 2 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lib/lib.c	Mon Jun 09 07:07:33 2014 -0500
+++ b/lib/lib.c	Mon Jun 09 07:12:49 2014 -0500
@@ -280,6 +280,16 @@
   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)
 {
--- a/lib/lib.h	Mon Jun 09 07:07:33 2014 -0500
+++ b/lib/lib.h	Mon Jun 09 07:12:49 2014 -0500
@@ -145,6 +145,7 @@
 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));