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 <jmmah...@gmail.com>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to