Skip to content
Snippets Groups Projects
Commit a4c33b15 authored by Daniel Salzman's avatar Daniel Salzman
Browse files

Rewrited some macros to inline functions

refs #2042 @30m
parent 1a65ae19
No related branches found
No related tags found
No related merge requests found
......@@ -42,7 +42,7 @@
#define INET4_ADDR_LENGTH 4
#define INET6_ADDR_LENGTH 16
#define RAGEL_STACK_SIZE 16 // Each nested call needs one.
#define RAGEL_STACK_SIZE 16 // Each nested call needs one.
#define ASCII_0 48
......
......@@ -33,22 +33,25 @@
#define SCANNER_WARNING(code) { s->error_code = code; }
#define SCANNER_ERROR(code) { s->error_code = code; s->stop = true; }
#define TYPE_NUM(type) { \
*((uint16_t *)rdata_tail) = htons(type); \
}
#define WINDOW_ADD_BIT(type) { \
win = type / 256; bit_pos = type % 256; byte_pos = bit_pos / 8; \
\
((s->windows[win]).bitmap)[byte_pos] |= 128 >> (bit_pos % 8); \
if ((s->windows[win]).length < byte_pos + 1) { \
(s->windows[win]).length = byte_pos + 1; \
} \
if (s->last_window < win) { \
s->last_window = win; \
} \
inline void type_num(const uint16_t type, uint8_t *rdata_tail)
{
*((uint16_t *)rdata_tail) = htons(type);
}
inline void window_add_bit(const uint16_t type, scanner_t *s) {
uint8_t win = type / 256;
uint8_t bit_pos = type % 256;
uint8_t byte_pos = bit_pos / 8;
((s->windows[win]).bitmap)[byte_pos] |= 128 >> (bit_pos % 8);
if ((s->windows[win]).length < byte_pos + 1) {
(s->windows[win]).length = byte_pos + 1;
}
if (s->last_window < win) {
s->last_window = win;
}
}
// Include scanner file (in Ragel).
%%{
......@@ -94,7 +97,6 @@ int scanner_process(char *start,
// Auxiliary variables which are used in scanner body.
struct in_addr addr4;
struct in6_addr addr6;
uint8_t win, byte_pos, bit_pos;
uint32_t timestamp;
int16_t window;
int ret;
......
......@@ -1108,38 +1108,38 @@
}
type_num =
( "A"i %{ TYPE_NUM(KNOT_RRTYPE_A); }
| "NS"i %{ TYPE_NUM(KNOT_RRTYPE_NS); }
| "CNAME"i %{ TYPE_NUM(KNOT_RRTYPE_CNAME); }
| "SOA"i %{ TYPE_NUM(KNOT_RRTYPE_SOA); }
| "PTR"i %{ TYPE_NUM(KNOT_RRTYPE_PTR); }
| "HINFO"i %{ TYPE_NUM(KNOT_RRTYPE_HINFO); }
| "MINFO"i %{ TYPE_NUM(KNOT_RRTYPE_MINFO); }
| "MX"i %{ TYPE_NUM(KNOT_RRTYPE_MX); }
| "TXT"i %{ TYPE_NUM(KNOT_RRTYPE_TXT); }
| "RP"i %{ TYPE_NUM(KNOT_RRTYPE_RP); }
| "AFSDB"i %{ TYPE_NUM(KNOT_RRTYPE_AFSDB); }
| "RT"i %{ TYPE_NUM(KNOT_RRTYPE_RT); }
| "KEY"i %{ TYPE_NUM(KNOT_RRTYPE_KEY); }
| "AAAA"i %{ TYPE_NUM(KNOT_RRTYPE_AAAA); }
| "LOC"i %{ TYPE_NUM(KNOT_RRTYPE_LOC); }
| "SRV"i %{ TYPE_NUM(KNOT_RRTYPE_SRV); }
| "NAPTR"i %{ TYPE_NUM(KNOT_RRTYPE_NAPTR); }
| "KX"i %{ TYPE_NUM(KNOT_RRTYPE_KX); }
| "CERT"i %{ TYPE_NUM(KNOT_RRTYPE_CERT); }
| "DNAME"i %{ TYPE_NUM(KNOT_RRTYPE_DNAME); }
| "APL"i %{ TYPE_NUM(KNOT_RRTYPE_APL); }
| "DS"i %{ TYPE_NUM(KNOT_RRTYPE_DS); }
| "SSHFP"i %{ TYPE_NUM(KNOT_RRTYPE_SSHFP); }
| "IPSECKEY"i %{ TYPE_NUM(KNOT_RRTYPE_IPSECKEY); }
| "RRSIG"i %{ TYPE_NUM(KNOT_RRTYPE_RRSIG); }
| "NSEC"i %{ TYPE_NUM(KNOT_RRTYPE_NSEC); }
| "DNSKEY"i %{ TYPE_NUM(KNOT_RRTYPE_DNSKEY); }
| "DHCID"i %{ TYPE_NUM(KNOT_RRTYPE_DHCID); }
| "NSEC3"i %{ TYPE_NUM(KNOT_RRTYPE_NSEC3); }
| "NSEC3PARAM"i %{ TYPE_NUM(KNOT_RRTYPE_NSEC3PARAM); }
| "TLSA"i %{ TYPE_NUM(KNOT_RRTYPE_TLSA); }
| "SPF"i %{ TYPE_NUM(KNOT_RRTYPE_SPF); }
( "A"i %{ type_num(KNOT_RRTYPE_A, rdata_tail); }
| "NS"i %{ type_num(KNOT_RRTYPE_NS, rdata_tail); }
| "CNAME"i %{ type_num(KNOT_RRTYPE_CNAME, rdata_tail); }
| "SOA"i %{ type_num(KNOT_RRTYPE_SOA, rdata_tail); }
| "PTR"i %{ type_num(KNOT_RRTYPE_PTR, rdata_tail); }
| "HINFO"i %{ type_num(KNOT_RRTYPE_HINFO, rdata_tail); }
| "MINFO"i %{ type_num(KNOT_RRTYPE_MINFO, rdata_tail); }
| "MX"i %{ type_num(KNOT_RRTYPE_MX, rdata_tail); }
| "TXT"i %{ type_num(KNOT_RRTYPE_TXT, rdata_tail); }
| "RP"i %{ type_num(KNOT_RRTYPE_RP, rdata_tail); }
| "AFSDB"i %{ type_num(KNOT_RRTYPE_AFSDB, rdata_tail); }
| "RT"i %{ type_num(KNOT_RRTYPE_RT, rdata_tail); }
| "KEY"i %{ type_num(KNOT_RRTYPE_KEY, rdata_tail); }
| "AAAA"i %{ type_num(KNOT_RRTYPE_AAAA, rdata_tail); }
| "LOC"i %{ type_num(KNOT_RRTYPE_LOC, rdata_tail); }
| "SRV"i %{ type_num(KNOT_RRTYPE_SRV, rdata_tail); }
| "NAPTR"i %{ type_num(KNOT_RRTYPE_NAPTR, rdata_tail); }
| "KX"i %{ type_num(KNOT_RRTYPE_KX, rdata_tail); }
| "CERT"i %{ type_num(KNOT_RRTYPE_CERT, rdata_tail); }
| "DNAME"i %{ type_num(KNOT_RRTYPE_DNAME, rdata_tail); }
| "APL"i %{ type_num(KNOT_RRTYPE_APL, rdata_tail); }
| "DS"i %{ type_num(KNOT_RRTYPE_DS, rdata_tail); }
| "SSHFP"i %{ type_num(KNOT_RRTYPE_SSHFP, rdata_tail); }
| "IPSECKEY"i %{ type_num(KNOT_RRTYPE_IPSECKEY, rdata_tail); }
| "RRSIG"i %{ type_num(KNOT_RRTYPE_RRSIG, rdata_tail); }
| "NSEC"i %{ type_num(KNOT_RRTYPE_NSEC, rdata_tail); }
| "DNSKEY"i %{ type_num(KNOT_RRTYPE_DNSKEY, rdata_tail); }
| "DHCID"i %{ type_num(KNOT_RRTYPE_DHCID, rdata_tail); }
| "NSEC3"i %{ type_num(KNOT_RRTYPE_NSEC3, rdata_tail); }
| "NSEC3PARAM"i %{ type_num(KNOT_RRTYPE_NSEC3PARAM, rdata_tail); }
| "TLSA"i %{ type_num(KNOT_RRTYPE_TLSA, rdata_tail); }
| "SPF"i %{ type_num(KNOT_RRTYPE_SPF, rdata_tail); }
| "TYPE"i . num16 # TYPE12345
) %_type_exit $!_type_error;
# END
......@@ -1147,7 +1147,7 @@
# BEGIN - Bitmap processing
action _type_bitmap_exit {
if (s->number64 <= UINT16_MAX) {
WINDOW_ADD_BIT(s->number64);
window_add_bit(s->number64, s);
}
else {
SCANNER_WARNING(ZSCANNER_ENUMBER16_OVERFLOW);
......@@ -1159,38 +1159,38 @@
type_bitmap = number %_type_bitmap_exit;
type_bit =
( "A"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_A); }
| "NS"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_NS); }
| "CNAME"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_CNAME); }
| "SOA"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_SOA); }
| "PTR"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_PTR); }
| "HINFO"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_HINFO); }
| "MINFO"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_MINFO); }
| "MX"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_MX); }
| "TXT"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_TXT); }
| "RP"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_RP); }
| "AFSDB"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_AFSDB); }
| "RT"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_RT); }
| "KEY"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_KEY); }
| "AAAA"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_AAAA); }
| "LOC"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_LOC); }
| "SRV"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_SRV); }
| "NAPTR"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_NAPTR); }
| "KX"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_KX); }
| "CERT"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_CERT); }
| "DNAME"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_DNAME); }
| "APL"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_APL); }
| "DS"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_DS); }
| "SSHFP"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_SSHFP); }
| "IPSECKEY"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_IPSECKEY); }
| "RRSIG"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_RRSIG); }
| "NSEC"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_NSEC); }
| "DNSKEY"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_DNSKEY); }
| "DHCID"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_DHCID); }
| "NSEC3"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_NSEC3); }
| "NSEC3PARAM"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_NSEC3PARAM); }
| "TLSA"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_TLSA); }
| "SPF"i %{ WINDOW_ADD_BIT(KNOT_RRTYPE_SPF); }
( "A"i %{ window_add_bit(KNOT_RRTYPE_A, s); }
| "NS"i %{ window_add_bit(KNOT_RRTYPE_NS, s); }
| "CNAME"i %{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
| "SOA"i %{ window_add_bit(KNOT_RRTYPE_SOA, s); }
| "PTR"i %{ window_add_bit(KNOT_RRTYPE_PTR, s); }
| "HINFO"i %{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
| "MINFO"i %{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
| "MX"i %{ window_add_bit(KNOT_RRTYPE_MX, s); }
| "TXT"i %{ window_add_bit(KNOT_RRTYPE_TXT, s); }
| "RP"i %{ window_add_bit(KNOT_RRTYPE_RP, s); }
| "AFSDB"i %{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
| "RT"i %{ window_add_bit(KNOT_RRTYPE_RT, s); }
| "KEY"i %{ window_add_bit(KNOT_RRTYPE_KEY, s); }
| "AAAA"i %{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
| "LOC"i %{ window_add_bit(KNOT_RRTYPE_LOC, s); }
| "SRV"i %{ window_add_bit(KNOT_RRTYPE_SRV, s); }
| "NAPTR"i %{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
| "KX"i %{ window_add_bit(KNOT_RRTYPE_KX, s); }
| "CERT"i %{ window_add_bit(KNOT_RRTYPE_CERT, s); }
| "DNAME"i %{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
| "APL"i %{ window_add_bit(KNOT_RRTYPE_APL, s); }
| "DS"i %{ window_add_bit(KNOT_RRTYPE_DS, s); }
| "SSHFP"i %{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
| "IPSECKEY"i %{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
| "RRSIG"i %{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
| "NSEC"i %{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
| "DNSKEY"i %{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
| "DHCID"i %{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
| "NSEC3"i %{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
| "NSEC3PARAM"i %{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
| "TLSA"i %{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
| "SPF"i %{ window_add_bit(KNOT_RRTYPE_SPF, s); }
| "TYPE"i . type_bitmap # Special types TYPE0-TYPE65535
);
......
......@@ -653,63 +653,63 @@ static const uint16_t days_across_months[] = {
// 0 ~ 1970 ... 135 ~ 2105
static const uint8_t is_leap_year[] = {
[ 1] = 0, [ 2] = 1, [ 3] = 0, [ 4] = 0, [ 5] = 0,
[ 6] = 1, [ 7] = 0, [ 8] = 0, [ 9] = 0, [ 10] = 1,
[ 11] = 0, [ 12] = 0, [ 13] = 0, [ 14] = 1, [ 15] = 0,
[ 16] = 0, [ 17] = 0, [ 18] = 1, [ 19] = 0, [ 20] = 0,
[ 21] = 0, [ 22] = 1, [ 23] = 0, [ 24] = 0, [ 25] = 0,
[ 26] = 1, [ 27] = 0, [ 28] = 0, [ 29] = 0, [ 30] = 1,
[ 31] = 0, [ 32] = 0, [ 33] = 0, [ 34] = 1, [ 35] = 0,
[ 36] = 0, [ 37] = 0, [ 38] = 1, [ 39] = 0, [ 40] = 0,
[ 41] = 0, [ 42] = 1, [ 43] = 0, [ 44] = 0, [ 45] = 0,
[ 46] = 1, [ 47] = 0, [ 48] = 0, [ 49] = 0, [ 50] = 1,
[ 51] = 0, [ 52] = 0, [ 53] = 0, [ 54] = 1, [ 55] = 0,
[ 56] = 0, [ 57] = 0, [ 58] = 1, [ 59] = 0, [ 60] = 0,
[ 61] = 0, [ 62] = 1, [ 63] = 0, [ 64] = 0, [ 65] = 0,
[ 66] = 1, [ 67] = 0, [ 68] = 0, [ 69] = 0, [ 70] = 1,
[ 71] = 0, [ 72] = 0, [ 73] = 0, [ 74] = 1, [ 75] = 0,
[ 76] = 0, [ 77] = 0, [ 78] = 1, [ 79] = 0, [ 80] = 0,
[ 81] = 0, [ 82] = 1, [ 83] = 0, [ 84] = 0, [ 85] = 0,
[ 86] = 1, [ 87] = 0, [ 88] = 0, [ 89] = 0, [ 90] = 1,
[ 91] = 0, [ 92] = 0, [ 93] = 0, [ 94] = 1, [ 95] = 0,
[ 96] = 0, [ 97] = 0, [ 98] = 1, [ 99] = 0, [100] = 0,
[101] = 0, [102] = 1, [103] = 0, [104] = 0, [105] = 0,
[106] = 1, [107] = 0, [108] = 0, [109] = 0, [110] = 1,
[111] = 0, [112] = 0, [113] = 0, [114] = 1, [115] = 0,
[116] = 0, [117] = 0, [118] = 1, [119] = 0, [120] = 0,
[121] = 0, [122] = 1, [123] = 0, [124] = 0, [125] = 0,
[126] = 1, [127] = 0, [128] = 0, [129] = 0, [130] = 0,
[ 1] = 0, [ 2] = 1, [ 3] = 0, [ 4] = 0, [ 5] = 0,
[ 6] = 1, [ 7] = 0, [ 8] = 0, [ 9] = 0, [ 10] = 1,
[ 11] = 0, [ 12] = 0, [ 13] = 0, [ 14] = 1, [ 15] = 0,
[ 16] = 0, [ 17] = 0, [ 18] = 1, [ 19] = 0, [ 20] = 0,
[ 21] = 0, [ 22] = 1, [ 23] = 0, [ 24] = 0, [ 25] = 0,
[ 26] = 1, [ 27] = 0, [ 28] = 0, [ 29] = 0, [ 30] = 1,
[ 31] = 0, [ 32] = 0, [ 33] = 0, [ 34] = 1, [ 35] = 0,
[ 36] = 0, [ 37] = 0, [ 38] = 1, [ 39] = 0, [ 40] = 0,
[ 41] = 0, [ 42] = 1, [ 43] = 0, [ 44] = 0, [ 45] = 0,
[ 46] = 1, [ 47] = 0, [ 48] = 0, [ 49] = 0, [ 50] = 1,
[ 51] = 0, [ 52] = 0, [ 53] = 0, [ 54] = 1, [ 55] = 0,
[ 56] = 0, [ 57] = 0, [ 58] = 1, [ 59] = 0, [ 60] = 0,
[ 61] = 0, [ 62] = 1, [ 63] = 0, [ 64] = 0, [ 65] = 0,
[ 66] = 1, [ 67] = 0, [ 68] = 0, [ 69] = 0, [ 70] = 1,
[ 71] = 0, [ 72] = 0, [ 73] = 0, [ 74] = 1, [ 75] = 0,
[ 76] = 0, [ 77] = 0, [ 78] = 1, [ 79] = 0, [ 80] = 0,
[ 81] = 0, [ 82] = 1, [ 83] = 0, [ 84] = 0, [ 85] = 0,
[ 86] = 1, [ 87] = 0, [ 88] = 0, [ 89] = 0, [ 90] = 1,
[ 91] = 0, [ 92] = 0, [ 93] = 0, [ 94] = 1, [ 95] = 0,
[ 96] = 0, [ 97] = 0, [ 98] = 1, [ 99] = 0, [100] = 0,
[101] = 0, [102] = 1, [103] = 0, [104] = 0, [105] = 0,
[106] = 1, [107] = 0, [108] = 0, [109] = 0, [110] = 1,
[111] = 0, [112] = 0, [113] = 0, [114] = 1, [115] = 0,
[116] = 0, [117] = 0, [118] = 1, [119] = 0, [120] = 0,
[121] = 0, [122] = 1, [123] = 0, [124] = 0, [125] = 0,
[126] = 1, [127] = 0, [128] = 0, [129] = 0, [130] = 0,
[131] = 0, [132] = 0, [133] = 0, [134] = 1, [135] = 0
};
// 0 ~ 1970 ... 135 ~ 2105
const uint16_t days_across_years[] = {
[ 1] = 365, [ 2] = 730, [ 3] = 1096, [ 4] = 1461, [ 5] = 1826,
[ 6] = 2191, [ 7] = 2557, [ 8] = 2922, [ 9] = 3287, [ 10] = 3652,
[ 11] = 4018, [ 12] = 4383, [ 13] = 4748, [ 14] = 5113, [ 15] = 5479,
[ 16] = 5844, [ 17] = 6209, [ 18] = 6574, [ 19] = 6940, [ 20] = 7305,
[ 21] = 7670, [ 22] = 8035, [ 23] = 8401, [ 24] = 8766, [ 25] = 9131,
[ 26] = 9496, [ 27] = 9862, [ 28] = 10227, [ 29] = 10592, [ 30] = 10957,
[ 31] = 11323, [ 32] = 11688, [ 33] = 12053, [ 34] = 12418, [ 35] = 12784,
[ 36] = 13149, [ 37] = 13514, [ 38] = 13879, [ 39] = 14245, [ 40] = 14610,
[ 41] = 14975, [ 42] = 15340, [ 43] = 15706, [ 44] = 16071, [ 45] = 16436,
[ 46] = 16801, [ 47] = 17167, [ 48] = 17532, [ 49] = 17897, [ 50] = 18262,
[ 51] = 18628, [ 52] = 18993, [ 53] = 19358, [ 54] = 19723, [ 55] = 20089,
[ 56] = 20454, [ 57] = 20819, [ 58] = 21184, [ 59] = 21550, [ 60] = 21915,
[ 61] = 22280, [ 62] = 22645, [ 63] = 23011, [ 64] = 23376, [ 65] = 23741,
[ 66] = 24106, [ 67] = 24472, [ 68] = 24837, [ 69] = 25202, [ 70] = 25567,
[ 71] = 25933, [ 72] = 26298, [ 73] = 26663, [ 74] = 27028, [ 75] = 27394,
[ 76] = 27759, [ 77] = 28124, [ 78] = 28489, [ 79] = 28855, [ 80] = 29220,
[ 81] = 29585, [ 82] = 29950, [ 83] = 30316, [ 84] = 30681, [ 85] = 31046,
[ 86] = 31411, [ 87] = 31777, [ 88] = 32142, [ 89] = 32507, [ 90] = 32872,
[ 91] = 33238, [ 92] = 33603, [ 93] = 33968, [ 94] = 34333, [ 95] = 34699,
[ 96] = 35064, [ 97] = 35429, [ 98] = 35794, [ 99] = 36160, [100] = 36525,
[101] = 36890, [102] = 37255, [103] = 37621, [104] = 37986, [105] = 38351,
[106] = 38716, [107] = 39082, [108] = 39447, [109] = 39812, [110] = 40177,
[111] = 40543, [112] = 40908, [113] = 41273, [114] = 41638, [115] = 42004,
[116] = 42369, [117] = 42734, [118] = 43099, [119] = 43465, [120] = 43830,
[121] = 44195, [122] = 44560, [123] = 44926, [124] = 45291, [125] = 45656,
[126] = 46021, [127] = 46387, [128] = 46752, [129] = 47117, [130] = 47482,
[ 1] = 365, [ 2] = 730, [ 3] = 1096, [ 4] = 1461, [ 5] = 1826,
[ 6] = 2191, [ 7] = 2557, [ 8] = 2922, [ 9] = 3287, [ 10] = 3652,
[ 11] = 4018, [ 12] = 4383, [ 13] = 4748, [ 14] = 5113, [ 15] = 5479,
[ 16] = 5844, [ 17] = 6209, [ 18] = 6574, [ 19] = 6940, [ 20] = 7305,
[ 21] = 7670, [ 22] = 8035, [ 23] = 8401, [ 24] = 8766, [ 25] = 9131,
[ 26] = 9496, [ 27] = 9862, [ 28] = 10227, [ 29] = 10592, [ 30] = 10957,
[ 31] = 11323, [ 32] = 11688, [ 33] = 12053, [ 34] = 12418, [ 35] = 12784,
[ 36] = 13149, [ 37] = 13514, [ 38] = 13879, [ 39] = 14245, [ 40] = 14610,
[ 41] = 14975, [ 42] = 15340, [ 43] = 15706, [ 44] = 16071, [ 45] = 16436,
[ 46] = 16801, [ 47] = 17167, [ 48] = 17532, [ 49] = 17897, [ 50] = 18262,
[ 51] = 18628, [ 52] = 18993, [ 53] = 19358, [ 54] = 19723, [ 55] = 20089,
[ 56] = 20454, [ 57] = 20819, [ 58] = 21184, [ 59] = 21550, [ 60] = 21915,
[ 61] = 22280, [ 62] = 22645, [ 63] = 23011, [ 64] = 23376, [ 65] = 23741,
[ 66] = 24106, [ 67] = 24472, [ 68] = 24837, [ 69] = 25202, [ 70] = 25567,
[ 71] = 25933, [ 72] = 26298, [ 73] = 26663, [ 74] = 27028, [ 75] = 27394,
[ 76] = 27759, [ 77] = 28124, [ 78] = 28489, [ 79] = 28855, [ 80] = 29220,
[ 81] = 29585, [ 82] = 29950, [ 83] = 30316, [ 84] = 30681, [ 85] = 31046,
[ 86] = 31411, [ 87] = 31777, [ 88] = 32142, [ 89] = 32507, [ 90] = 32872,
[ 91] = 33238, [ 92] = 33603, [ 93] = 33968, [ 94] = 34333, [ 95] = 34699,
[ 96] = 35064, [ 97] = 35429, [ 98] = 35794, [ 99] = 36160, [100] = 36525,
[101] = 36890, [102] = 37255, [103] = 37621, [104] = 37986, [105] = 38351,
[106] = 38716, [107] = 39082, [108] = 39447, [109] = 39812, [110] = 40177,
[111] = 40543, [112] = 40908, [113] = 41273, [114] = 41638, [115] = 42004,
[116] = 42369, [117] = 42734, [118] = 43099, [119] = 43465, [120] = 43830,
[121] = 44195, [122] = 44560, [123] = 44926, [124] = 45291, [125] = 45656,
[126] = 46021, [127] = 46387, [128] = 46752, [129] = 47117, [130] = 47482,
[131] = 47847, [132] = 48212, [133] = 48577, [134] = 48942, [135] = 49308
};
......@@ -786,3 +786,4 @@ uint8_t loc64to8(uint64_t number) {
return (((uint8_t)number % 9) << 4) + (exponent % 9);
}
......@@ -62,8 +62,8 @@ extern const uint8_t eighth_base32hex_to_num[];
int date_to_timestamp(uint8_t *buff, uint32_t *timestamp);
void wire_dname_to_text(const uint8_t *dname,
const uint32_t dname_length,
void wire_dname_to_text(const uint8_t *dname,
const uint32_t dname_length,
char *text_dname);
uint8_t loc64to8(uint64_t number);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment