Mercurial > hg > nginx
comparison src/core/ngx_string.c @ 826:4390fcad6628
undo the previous wrong commit
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sat, 28 Oct 2006 14:32:39 +0000 |
parents | f9b9b84a8e18 |
children | 0444286b860a |
comparison
equal
deleted
inserted
replaced
825:f9b9b84a8e18 | 826:4390fcad6628 |
---|---|
686 ngx_int_t | 686 ngx_int_t |
687 ngx_decode_base64(ngx_str_t *dst, ngx_str_t *src) | 687 ngx_decode_base64(ngx_str_t *dst, ngx_str_t *src) |
688 { | 688 { |
689 size_t len; | 689 size_t len; |
690 u_char *d, *s; | 690 u_char *d, *s; |
691 static u_char basis64[] = { | 691 static u_char basis64[] = |
692 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, | 692 { 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
693 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, | 693 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
694 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 62, 77, 77, 77, 63, | 694 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 62, 77, 77, 77, 63, |
695 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 77, 77, 77, 77, 77, 77, | 695 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 77, 77, 77, 77, 77, 77, |
696 77, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, | 696 77, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
697 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 77, 77, 77, 77, 77, | 697 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 77, 77, 77, 77, 77, |
698 77, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, | 698 77, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, |
699 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 77, 77, 77, 77, 77, | 699 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 77, 77, 77, 77, 77, |
700 | 700 |
701 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, | 701 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
702 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, | 702 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
703 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, | 703 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
704 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, | 704 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
705 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, | 705 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
706 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, | 706 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
707 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, | 707 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, |
708 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77 | 708 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77 }; |
709 }; | |
710 | 709 |
711 for (len = 0; len < src->len; len++) { | 710 for (len = 0; len < src->len; len++) { |
712 if (src->data[len] == '=') { | 711 if (src->data[len] == '=') { |
713 break; | 712 break; |
714 } | 713 } |
886 | 885 |
887 | 886 |
888 uintptr_t | 887 uintptr_t |
889 ngx_escape_uri(u_char *dst, u_char *src, size_t size, ngx_uint_t type) | 888 ngx_escape_uri(u_char *dst, u_char *src, size_t size, ngx_uint_t type) |
890 { | 889 { |
891 ngx_uint_t i, n; | 890 ngx_uint_t i, n; |
892 uint32_t *escape; | 891 uint32_t *escape; |
893 static u_char hex[] = "0123456789abcdef"; | 892 static u_char hex[] = "0123456789abcdef"; |
894 | 893 |
895 /* " ", "#", "%", "?", %00-%1F, %7F-%FF */ | 894 /* " ", "#", "%", "?", %00-%1F, %7F-%FF */ |
896 | 895 |
897 static uint32_t uri[] = { | 896 static uint32_t uri[] = |
898 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 897 { 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
899 | 898 |
900 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */ | 899 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */ |
901 0x80000029, /* 1000 0000 0000 0000 0000 0000 0010 1001 */ | 900 0x80000029, /* 1000 0000 0000 0000 0000 0000 0010 1001 */ |
902 | 901 |
903 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */ | 902 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */ |
904 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ | 903 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ |
905 | 904 |
906 /* ~}| {zyx wvut srqp onml kjih gfed cba` */ | 905 /* ~}| {zyx wvut srqp onml kjih gfed cba` */ |
907 0x80000000, /* 1000 0000 0000 0000 0000 0000 0000 0000 */ | 906 0x80000000, /* 1000 0000 0000 0000 0000 0000 0000 0000 */ |
908 | 907 |
909 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 908 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
910 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 909 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
911 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 910 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
912 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 911 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */ }; |
913 }; | 912 |
914 | 913 /* " ", "#", "%", "+", "?", %00-%1F, %7F-%FF */ |
915 /* " ", "#", "%", "+", "?", %00-%1F, %7F-%FF */ | 914 |
916 | 915 static uint32_t args[] = |
917 static uint32_t args[] = { | 916 { 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
918 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 917 |
919 | 918 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */ |
920 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */ | 919 0x80000829, /* 1000 0000 0000 0000 0000 1000 0010 1001 */ |
921 0x80000829, /* 1000 0000 0000 0000 0000 1000 0010 1001 */ | 920 |
922 | 921 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */ |
923 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */ | 922 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ |
924 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ | 923 |
925 | 924 /* ~}| {zyx wvut srqp onml kjih gfed cba` */ |
926 /* ~}| {zyx wvut srqp onml kjih gfed cba` */ | 925 0x80000000, /* 1000 0000 0000 0000 0000 0000 0000 0000 */ |
927 0x80000000, /* 1000 0000 0000 0000 0000 0000 0000 0000 */ | 926 |
928 | 927 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
929 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 928 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
930 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 929 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
931 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 930 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */ }; |
932 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 931 |
933 }; | 932 /* " ", """, "%", "'", %00-%1F, %7F-%FF */ |
934 | 933 |
935 /* " ", """, "%", "'", %00-%1F, %7F-%FF */ | 934 static uint32_t html[] = |
936 | 935 { 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
937 static uint32_t html[] = { | 936 |
938 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 937 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */ |
939 | 938 0x800000ad, /* 0000 0000 0000 0000 0000 0000 1010 1101 */ |
940 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */ | 939 |
941 0x800000ad, /* 0000 0000 0000 0000 0000 0000 1010 1101 */ | 940 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */ |
942 | 941 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ |
943 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */ | 942 |
944 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ | 943 /* ~}| {zyx wvut srqp onml kjih gfed cba` */ |
945 | 944 0x80000000, /* 1000 0000 0000 0000 0000 0000 0000 0000 */ |
946 /* ~}| {zyx wvut srqp onml kjih gfed cba` */ | 945 |
947 0x80000000, /* 1000 0000 0000 0000 0000 0000 0000 0000 */ | 946 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
948 | 947 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
949 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 948 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ |
950 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | 949 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */ }; |
951 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | |
952 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */ | |
953 }; | |
954 | 950 |
955 | 951 |
956 switch (type) { | 952 switch (type) { |
957 case NGX_ESCAPE_HTML: | 953 case NGX_ESCAPE_HTML: |
958 escape = html; | 954 escape = html; |