From 8115fc121c0ee0b11ba2752438ff500cce48e347 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 9 Jun 2014 07:12:49 -0500 Subject: Forgot to check in strstart(). --- lib/lib.c | 10 ++++++++++ lib/lib.h | 1 + 2 files changed, 11 insertions(+) (limited to 'lib') diff --git a/lib/lib.c b/lib/lib.c index bbe8f33c..fa0b777f 100644 --- 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) { diff --git a/lib/lib.h b/lib/lib.h index a246618b..dfbe5e1c 100644 --- 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)); -- cgit v1.2.3