ngx_strn2cmp()
diff --git a/src/core/ngx_string.c b/src/core/ngx_string.c
index ad2c9d8..2b23960 100644
--- a/src/core/ngx_string.c
+++ b/src/core/ngx_string.c
@@ -487,6 +487,31 @@
ngx_int_t
+ngx_strn2cmp(u_char *s1, u_char *s2, size_t n1, size_t n2)
+{
+ size_t n;
+ ngx_int_t m, z;
+
+ if (n1 <= n2) {
+ n = n1;
+ z = -1;
+
+ } else {
+ n = n2;
+ z = 1;
+ }
+
+ m = ngx_strncmp(s1, s2, n);
+
+ if (m || n1 == n2) {
+ return m;
+ }
+
+ return z;
+}
+
+
+ngx_int_t
ngx_atoi(u_char *line, size_t n)
{
ngx_int_t value;
diff --git a/src/core/ngx_string.h b/src/core/ngx_string.h
index 10f87ae..1dd8b54 100644
--- a/src/core/ngx_string.h
+++ b/src/core/ngx_string.h
@@ -130,6 +130,7 @@
ngx_int_t ngx_rstrncmp(u_char *s1, u_char *s2, size_t n);
ngx_int_t ngx_rstrncasecmp(u_char *s1, u_char *s2, size_t n);
+ngx_int_t ngx_strn2cmp(u_char *s1, u_char *s2, size_t n1, size_t n2);
ngx_int_t ngx_atoi(u_char *line, size_t n);
ssize_t ngx_atosz(u_char *line, size_t n);