# HG changeset patch # User Igor Sysoev # Date 1168632959 0 # Node ID eeadc558e86dcbae6b56a0158bf7bcf95bc13eca # Parent 68cc5e2e1a5d569a95169b1290506ede49c87779 ngx_strn2cmp() diff --git a/src/core/ngx_string.c b/src/core/ngx_string.c --- 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; diff --git a/src/core/ngx_string.h b/src/core/ngx_string.h --- 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);