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)