changeset 1024:eeadc558e86d

ngx_strn2cmp()
author Igor Sysoev <igor@sysoev.ru>
date Fri, 12 Jan 2007 20:15:59 +0000
parents 68cc5e2e1a5d
children f88651afad40
files src/core/ngx_string.c src/core/ngx_string.h
diffstat 2 files changed, 26 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_string.c
+++ b/src/core/ngx_string.c
@@ -487,6 +487,31 @@ ngx_rstrncasecmp(u_char *s1, u_char *s2,
 
 
 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;
--- a/src/core/ngx_string.h
+++ b/src/core/ngx_string.h
@@ -130,6 +130,7 @@ u_char *ngx_vsnprintf(u_char *buf, size_
 
 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);