Mercurial > hg > nginx
comparison 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 |
comparison
equal
deleted
inserted
replaced
83:a7e45c45a95c | 84:fab4cb00fe5b |
---|---|
4 #include <ngx_string.h> | 4 #include <ngx_string.h> |
5 | 5 |
6 | 6 |
7 char *ngx_cpystrn(char *dst, char *src, size_t n) | 7 char *ngx_cpystrn(char *dst, char *src, size_t n) |
8 { | 8 { |
9 if (n == 0) | 9 if (n == 0) { |
10 return dst; | 10 return dst; |
11 } | |
11 | 12 |
12 for (/* void */; --n; dst++, src++) { | 13 for (/* void */; --n; dst++, src++) { |
13 *dst = *src; | 14 *dst = *src; |
14 | 15 |
15 if (*dst == '\0') | 16 if (*dst == '\0') { |
16 return dst; | 17 return dst; |
18 } | |
17 } | 19 } |
18 | 20 |
19 *dst = '\0'; | 21 *dst = '\0'; |
20 | 22 |
21 return dst; | 23 return dst; |
22 } | 24 } |
23 | 25 |
24 | 26 |
27 int ngx_rstrncmp(char *s1, char *s2, size_t n) | |
28 { | |
29 if (n == 0) { | |
30 return 0; | |
31 } | |
32 | |
33 n--; | |
34 | |
35 for ( ;; ) { | |
36 if (s1[n] != s2[n]) { | |
37 return (u_char) s1[n] - (u_char) s2[n]; | |
38 } | |
39 | |
40 if (n == 0) { | |
41 return 0; | |
42 } | |
43 | |
44 n--; | |
45 } | |
46 } | |
47 | |
48 | |
25 int ngx_atoi(char *line, size_t n) | 49 int ngx_atoi(char *line, size_t n) |
26 { | 50 { |
27 int value; | 51 int value; |
52 | |
53 if (n == 0) { | |
54 return NGX_ERROR; | |
55 } | |
28 | 56 |
29 for (value = 0; n--; line++) { | 57 for (value = 0; n--; line++) { |
30 if (*line < '0' || *line > '9') { | 58 if (*line < '0' || *line > '9') { |
31 return NGX_ERROR; | 59 return NGX_ERROR; |
32 } | 60 } |