Skip to content

Commit d4035ae

Browse files
lemireanonrig
authored andcommitted
Adding missing percent encoding tables.
1 parent 040f04f commit d4035ae

File tree

1 file changed

+134
-0
lines changed

1 file changed

+134
-0
lines changed

include/ada/character_sets-inl.h

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,140 @@ constexpr uint8_t PATH_PERCENT_ENCODE[32] = {
441441
// F8 F9 FA FB FC FD FE FF
442442
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80};
443443

444+
445+
constexpr uint8_t COMPONENT_PERCENT_ENCODE[32] = {
446+
// 00 01 02 03 04 05 06 07
447+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
448+
// 08 09 0A 0B 0C 0D 0E 0F
449+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
450+
// 10 11 12 13 14 15 16 17
451+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
452+
// 18 19 1A 1B 1C 1D 1E 1F
453+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
454+
// 20 21 22 23 24 25 26 27
455+
0x01 | 0x00 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x00,
456+
// 28 29 2A 2B 2C 2D 2E 2F
457+
0x00 | 0x00 | 0x00 | 0x08 | 0x10 | 0x00 | 0x00 | 0x00,
458+
// 30 31 32 33 34 35 36 37
459+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
460+
// 38 39 3A 3B 3C 3D 3E 3F
461+
0x00 | 0x00 | 0x00 | 0x00 | 0x10 | 0x00 | 0x40 | 0x80,
462+
// 40 41 42 43 44 45 46 47
463+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
464+
// 48 49 4A 4B 4C 4D 4E 4F
465+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
466+
// 50 51 52 53 54 55 56 57
467+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
468+
// 58 59 5A 5B 5C 5D 5E 5F
469+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
470+
// 60 61 62 63 64 65 66 67
471+
0x01 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
472+
// 68 69 6A 6B 6C 6D 6E 6F
473+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
474+
// 70 71 72 73 74 75 76 77
475+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
476+
// 78 79 7A 7B 7C 7D 7E 7F
477+
0x00 | 0x00 | 0x00 | 0x08 | 0x00 | 0x20 | 0x00 | 0x80,
478+
// 80 81 82 83 84 85 86 87
479+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
480+
// 88 89 8A 8B 8C 8D 8E 8F
481+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
482+
// 90 91 92 93 94 95 96 97
483+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
484+
// 98 99 9A 9B 9C 9D 9E 9F
485+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
486+
// A0 A1 A2 A3 A4 A5 A6 A7
487+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
488+
// A8 A9 AA AB AC AD AE AF
489+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
490+
// B0 B1 B2 B3 B4 B5 B6 B7
491+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
492+
// B8 B9 BA BB BC BD BE BF
493+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
494+
// C0 C1 C2 C3 C4 C5 C6 C7
495+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
496+
// C8 C9 CA CB CC CD CE CF
497+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
498+
// D0 D1 D2 D3 D4 D5 D6 D7
499+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
500+
// D8 D9 DA DB DC DD DE DF
501+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
502+
// E0 E1 E2 E3 E4 E5 E6 E7
503+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
504+
// E8 E9 EA EB EC ED EE EF
505+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
506+
// F0 F1 F2 F3 F4 F5 F6 F7
507+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
508+
// F8 F9 FA FB FC FD FE FF
509+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80};
510+
511+
512+
constexpr uint8_t WWW_FORM_URLENCODED_PERCENT_ENCODE[32] = {
513+
// 00 01 02 03 04 05 06 07
514+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
515+
// 08 09 0A 0B 0C 0D 0E 0F
516+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
517+
// 10 11 12 13 14 15 16 17
518+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
519+
// 18 19 1A 1B 1C 1D 1E 1F
520+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
521+
// 20 21 22 23 24 25 26 27
522+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
523+
// 28 29 2A 2B 2C 2D 2E 2F
524+
0x01 | 0x02 | 0x00 | 0x08 | 0x10 | 0x00 | 0x00 | 0x00,
525+
// 30 31 32 33 34 35 36 37
526+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
527+
// 38 39 3A 3B 3C 3D 3E 3F
528+
0x00 | 0x00 | 0x00 | 0x00 | 0x10 | 0x00 | 0x40 | 0x80,
529+
// 40 41 42 43 44 45 46 47
530+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
531+
// 48 49 4A 4B 4C 4D 4E 4F
532+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
533+
// 50 51 52 53 54 55 56 57
534+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
535+
// 58 59 5A 5B 5C 5D 5E 5F
536+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
537+
// 60 61 62 63 64 65 66 67
538+
0x01 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
539+
// 68 69 6A 6B 6C 6D 6E 6F
540+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
541+
// 70 71 72 73 74 75 76 77
542+
0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00 | 0x00,
543+
// 78 79 7A 7B 7C 7D 7E 7F
544+
0x00 | 0x00 | 0x00 | 0x08 | 0x00 | 0x20 | 0x40 | 0x80,
545+
// 80 81 82 83 84 85 86 87
546+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
547+
// 88 89 8A 8B 8C 8D 8E 8F
548+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
549+
// 90 91 92 93 94 95 96 97
550+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
551+
// 98 99 9A 9B 9C 9D 9E 9F
552+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
553+
// A0 A1 A2 A3 A4 A5 A6 A7
554+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
555+
// A8 A9 AA AB AC AD AE AF
556+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
557+
// B0 B1 B2 B3 B4 B5 B6 B7
558+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
559+
// B8 B9 BA BB BC BD BE BF
560+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
561+
// C0 C1 C2 C3 C4 C5 C6 C7
562+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
563+
// C8 C9 CA CB CC CD CE CF
564+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
565+
// D0 D1 D2 D3 D4 D5 D6 D7
566+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
567+
// D8 D9 DA DB DC DD DE DF
568+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
569+
// E0 E1 E2 E3 E4 E5 E6 E7
570+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
571+
// E8 E9 EA EB EC ED EE EF
572+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
573+
// F0 F1 F2 F3 F4 F5 F6 F7
574+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80,
575+
// F8 F9 FA FB FC FD FE FF
576+
0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80};
577+
444578
ada_really_inline bool bit_at(const uint8_t a[], const uint8_t i) {
445579
return !!(a[i >> 3] & (1 << (i & 7)));
446580
}

0 commit comments

Comments
 (0)