Mercurial > hg > nginx
comparison src/core/ngx_regex.c @ 1784:7d313324d874
ngx_regex_exec_array()
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 27 Dec 2007 13:15:08 +0000 |
parents | b1648294f693 |
children | 4d8140271204 |
comparison
equal
deleted
inserted
replaced
1783:cfb879757a43 | 1784:7d313324d874 |
---|---|
112 | 112 |
113 return rc; | 113 return rc; |
114 } | 114 } |
115 | 115 |
116 | 116 |
117 ngx_int_t | |
118 ngx_regex_exec_array(ngx_array_t *a, ngx_str_t *s, ngx_log_t *log) | |
119 { | |
120 ngx_int_t n; | |
121 ngx_uint_t i; | |
122 ngx_regex_elt_t *re; | |
123 | |
124 re = a->elts; | |
125 | |
126 for (i = 0; i < a->nelts; i++) { | |
127 | |
128 n = ngx_regex_exec(re[i].regex, s, NULL, 0); | |
129 | |
130 if (n == NGX_REGEX_NO_MATCHED) { | |
131 continue; | |
132 } | |
133 | |
134 if (n < 0) { | |
135 ngx_log_error(NGX_LOG_ALERT, log, 0, | |
136 ngx_regex_exec_n " failed: %d on \"%V\" using \"%s\"", | |
137 n, s, re[i].name); | |
138 return NGX_ERROR; | |
139 } | |
140 | |
141 /* match */ | |
142 | |
143 return NGX_OK; | |
144 } | |
145 | |
146 return NGX_DECLINED; | |
147 } | |
148 | |
149 | |
117 static void * ngx_libc_cdecl | 150 static void * ngx_libc_cdecl |
118 ngx_regex_malloc(size_t size) | 151 ngx_regex_malloc(size_t size) |
119 { | 152 { |
120 ngx_pool_t *pool; | 153 ngx_pool_t *pool; |
121 #if (NGX_THREADS) | 154 #if (NGX_THREADS) |