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 }