comparison src/http/ngx_http_request.c @ 3570:e03b8a4fb906

test default NTFS stream "::$DATA"
author Igor Sysoev <igor@sysoev.ru>
date Fri, 04 Jun 2010 15:37:49 +0000
parents fcd72b8d69f3
children 31e9677b15a1
comparison
equal deleted inserted replaced
3569:8bb6ce44672a 3570:e03b8a4fb906
786 { 786 {
787 u_char *p; 787 u_char *p;
788 788
789 p = r->uri.data + r->uri.len - 1; 789 p = r->uri.data + r->uri.len - 1;
790 790
791 if (*p == '.' || *p == ' ') { 791 while (p > r->uri.data) {
792 792
793 while (--p > r->uri.data && (*p == '.' || *p == ' ')) { 793 if (*p == ' ') {
794 /* void */ 794 p--;
795 continue;
795 } 796 }
796 797
798 if (*p == '.') {
799 p--;
800 continue;
801 }
802
803 if (ngx_strncasecmp(p - 6, (u_char *) "::$data", 7) == 0) {
804 p -= 7;
805 continue;
806 }
807
808 break;
809 }
810
811 if (p != r->uri.data + r->uri.len - 1) {
797 r->uri.len = p + 1 - r->uri.data; 812 r->uri.len = p + 1 - r->uri.data;
798
799 ngx_http_set_exten(r); 813 ngx_http_set_exten(r);
800 } 814 }
815
801 } 816 }
802 #endif 817 #endif
803 818
804 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, 819 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
805 "http request line: \"%V\"", &r->request_line); 820 "http request line: \"%V\"", &r->request_line);