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;