comparison src/http/ngx_http_parse.c @ 2655:87e1fcd9b604 stable-0.6

r2202, r2408, r2425, r2454, r2459, r2482, r2504, r2542, r2565, r2579, r2580, r2585, r2586, r2587, r2591, r2626 merge: try_files
author Igor Sysoev <igor@sysoev.ru>
date Thu, 02 Apr 2009 06:44:45 +0000
parents 5acc8bea2c49
children c2537655fd5f
comparison
equal deleted inserted replaced
2654:96b878c984f4 2655:87e1fcd9b604
1465 } 1465 }
1466 } 1466 }
1467 1467
1468 return NGX_DECLINED; 1468 return NGX_DECLINED;
1469 } 1469 }
1470
1471
1472 void
1473 ngx_http_split_args(ngx_http_request_t *r, ngx_str_t *uri, ngx_str_t *args)
1474 {
1475 u_char ch, *p, *last;
1476
1477 p = uri->data;
1478
1479 last = p + uri->len;
1480
1481 args->len = 0;
1482
1483 while (p < last) {
1484
1485 ch = *p++;
1486
1487 if (ch == '?') {
1488 args->len = last - p;
1489 args->data = p;
1490
1491 uri->len = p - 1 - uri->data;
1492
1493 if (ngx_strlchr(p, last, '\0') != NULL) {
1494 r->zero_in_uri = 1;
1495 }
1496
1497 return;
1498 }
1499
1500 if (ch == '\0') {
1501 r->zero_in_uri = 1;
1502 continue;
1503 }
1504 }
1505 }