comparison src/http/ngx_http_parse.c @ 2578:c7bdd722532f

ngx_http_split_args()
author Igor Sysoev <igor@sysoev.ru>
date Thu, 19 Mar 2009 13:41:29 +0000
parents d311b7f6a403
children c65755e03084
comparison
equal deleted inserted replaced
2577:2dcbcfc1a8d1 2578:c7bdd722532f
1521 } 1521 }
1522 } 1522 }
1523 1523
1524 return NGX_DECLINED; 1524 return NGX_DECLINED;
1525 } 1525 }
1526
1527
1528 void
1529 ngx_http_split_args(ngx_http_request_t *r, ngx_str_t *uri, ngx_str_t *args)
1530 {
1531 u_char ch, *p, *last;
1532
1533 p = uri->data;
1534
1535 last = p + uri->len;
1536
1537 while (p < last) {
1538
1539 ch = *p++;
1540
1541 if (ch == '?') {
1542 args->len = last - p;
1543 args->data = p;
1544
1545 uri->len = p - 1 - uri->data;
1546
1547 if (ngx_strlchr(p, last, '\0') != NULL) {
1548 r->zero_in_uri = 1;
1549 }
1550
1551 return;
1552 }
1553
1554 if (ch == '\0') {
1555 r->zero_in_uri = 1;
1556 continue;
1557 }
1558 }
1559 }