comparison src/core/ngx_string.h @ 1107:db7c468c447d

ngx_strcasecmp()/ngx_strncasecmp()
author Igor Sysoev <igor@sysoev.ru>
date Wed, 14 Feb 2007 18:51:19 +0000
parents ce08bc4cb97b
children a4820184a618
comparison
equal deleted inserted replaced
1106:2c7fed12fab7 1107:db7c468c447d
22 ngx_str_t key; 22 ngx_str_t key;
23 ngx_str_t value; 23 ngx_str_t value;
24 } ngx_keyval_t; 24 } ngx_keyval_t;
25 25
26 26
27 #define ngx_string(str) { sizeof(str) - 1, (u_char *) str } 27 #define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
28 #define ngx_null_string { 0, NULL } 28 #define ngx_null_string { 0, NULL }
29 29
30 30
31 #define ngx_tolower(c) (u_char) ((c >= 'A' && c <= 'Z') ? (c | 0x20) : c) 31 #define ngx_tolower(c) (u_char) ((c >= 'A' && c <= 'Z') ? (c | 0x20) : c)
32 #define ngx_toupper(c) (u_char) ((c >= 'a' && c <= 'z') ? (c & ~0x20) : c) 32 #define ngx_toupper(c) (u_char) ((c >= 'a' && c <= 'z') ? (c & ~0x20) : c)
33
34
35 #if (NGX_WIN32)
36
37 #define ngx_strncasecmp(s1, s2, n) \
38 strnicmp((const char *) s1, (const char *) s2, n)
39 #define ngx_strcasecmp(s1, s2) \
40 stricmp((const char *) s1, (const char *) s2)
41
42 #else
43
44 #define ngx_strncasecmp(s1, s2, n) \
45 strncasecmp((const char *) s1, (const char *) s2, n)
46 #define ngx_strcasecmp(s1, s2) \
47 strcasecmp((const char *) s1, (const char *) s2)
48
49 #endif
50 33
51 34
52 #define ngx_strncmp(s1, s2, n) strncmp((const char *) s1, (const char *) s2, n) 35 #define ngx_strncmp(s1, s2, n) strncmp((const char *) s1, (const char *) s2, n)
53 36
54 37
126 u_char *ngx_pstrdup(ngx_pool_t *pool, ngx_str_t *src); 109 u_char *ngx_pstrdup(ngx_pool_t *pool, ngx_str_t *src);
127 u_char * ngx_cdecl ngx_sprintf(u_char *buf, const char *fmt, ...); 110 u_char * ngx_cdecl ngx_sprintf(u_char *buf, const char *fmt, ...);
128 u_char * ngx_cdecl ngx_snprintf(u_char *buf, size_t max, const char *fmt, ...); 111 u_char * ngx_cdecl ngx_snprintf(u_char *buf, size_t max, const char *fmt, ...);
129 u_char *ngx_vsnprintf(u_char *buf, size_t max, const char *fmt, va_list args); 112 u_char *ngx_vsnprintf(u_char *buf, size_t max, const char *fmt, va_list args);
130 113
114 ngx_int_t ngx_strcasecmp(u_char *s1, u_char *s2);
115 ngx_int_t ngx_strncasecmp(u_char *s1, u_char *s2, size_t n);
116
131 ngx_int_t ngx_rstrncmp(u_char *s1, u_char *s2, size_t n); 117 ngx_int_t ngx_rstrncmp(u_char *s1, u_char *s2, size_t n);
132 ngx_int_t ngx_rstrncasecmp(u_char *s1, u_char *s2, size_t n); 118 ngx_int_t ngx_rstrncasecmp(u_char *s1, u_char *s2, size_t n);
133 ngx_int_t ngx_memn2cmp(u_char *s1, u_char *s2, size_t n1, size_t n2); 119 ngx_int_t ngx_memn2cmp(u_char *s1, u_char *s2, size_t n1, size_t n2);
134 120
135 ngx_int_t ngx_atoi(u_char *line, size_t n); 121 ngx_int_t ngx_atoi(u_char *line, size_t n);