Mercurial > hg > nginx
diff src/core/ngx_string.c @ 84:fab4cb00fe5b
nginx-0.0.1-2003-05-06-21:03:16 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 06 May 2003 17:03:16 +0000 |
parents | a7e45c45a95c |
children | 7ebc8b7fb816 |
line wrap: on
line diff
--- a/src/core/ngx_string.c +++ b/src/core/ngx_string.c @@ -6,14 +6,16 @@ char *ngx_cpystrn(char *dst, char *src, size_t n) { - if (n == 0) + if (n == 0) { return dst; + } for (/* void */; --n; dst++, src++) { *dst = *src; - if (*dst == '\0') + if (*dst == '\0') { return dst; + } } *dst = '\0'; @@ -22,10 +24,36 @@ char *ngx_cpystrn(char *dst, char *src, } +int ngx_rstrncmp(char *s1, char *s2, size_t n) +{ + if (n == 0) { + return 0; + } + + n--; + + for ( ;; ) { + if (s1[n] != s2[n]) { + return (u_char) s1[n] - (u_char) s2[n]; + } + + if (n == 0) { + return 0; + } + + n--; + } +} + + int ngx_atoi(char *line, size_t n) { int value; + if (n == 0) { + return NGX_ERROR; + } + for (value = 0; n--; line++) { if (*line < '0' || *line > '9') { return NGX_ERROR;