From: Jeremiah Mahler Date: Mon, 16 Jun 2014 19:13:56 GMT Subject: [PATCH 1/3] add strnncmp() function Message-ID: <58e0ac866bdeb8cc6e06cf553a459af351ccfd1b.1402945507.git.jmmahler@gmail.com> In-Reply-To: Add a strnncmp() function which behaves like strncmp() except it uses the length of both strings instead of just one. Signed-off-by: Jeremiah Mahler --- strbuf.c | 6 ++++++ strbuf.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/strbuf.c b/strbuf.c index ac62982..bd486c3 100644 --- a/strbuf.c +++ b/strbuf.c @@ -600,3 +600,9 @@ char *xstrdup_tolower(const char *string) result[i] = '\0'; return result; } + +int strnncmp(const char *a, int len_a, const char *b, int len_b) +{ + int min_len = (len_a < len_b) ? len_a : len_b; + return (memcmp(a, b, min_len) || (len_a - len_b)); +} diff --git a/strbuf.h b/strbuf.h index e9ad03e..88af9bf 100644 --- a/strbuf.h +++ b/strbuf.h @@ -187,4 +187,6 @@ extern int fprintf_ln(FILE *fp, const char *fmt, ...); char *xstrdup_tolower(const char *); +extern int strnncmp(const char *a, int len_a, const char *b, int len_b); + #endif /* STRBUF_H */ -- 2.0.0