diff --git a/examples/base64.c b/examples/base64.c index cdb89aafba4be064064c3204872e4c6999653f79..17264da9441d8fb7008496cc901c6a5f471a2db5 100644 --- a/examples/base64.c +++ b/examples/base64.c @@ -18,30 +18,30 @@ const HParser* document = NULL; void init_parser(void) { // CORE - const HParser *digit = h_ch_range(0x30, 0x39); - const HParser *alpha = h_choice(h_ch_range(0x41, 0x5a), h_ch_range(0x61, 0x7a), NULL); + HParser *digit = h_ch_range(0x30, 0x39); + HParser *alpha = h_choice(h_ch_range(0x41, 0x5a), h_ch_range(0x61, 0x7a), NULL); // AUX. - const HParser *plus = h_ch('+'); - const HParser *slash = h_ch('/'); - const HParser *equals = h_ch('='); + HParser *plus = h_ch('+'); + HParser *slash = h_ch('/'); + HParser *equals = h_ch('='); - const HParser *bsfdig = h_choice(alpha, digit, plus, slash, NULL); - const HParser *bsfdig_4bit = h_choice( + HParser *bsfdig = h_choice(alpha, digit, plus, slash, NULL); + HParser *bsfdig_4bit = h_choice( h_ch('A'), h_ch('E'), h_ch('I'), h_ch('M'), h_ch('Q'), h_ch('U'), h_ch('Y'), h_ch('c'), h_ch('g'), h_ch('k'), h_ch('o'), h_ch('s'), h_ch('w'), h_ch('0'), h_ch('4'), h_ch('8'), NULL); - const HParser *bsfdig_2bit = h_choice(h_ch('A'), h_ch('Q'), h_ch('g'), h_ch('w'), NULL); + HParser *bsfdig_2bit = h_choice(h_ch('A'), h_ch('Q'), h_ch('g'), h_ch('w'), NULL); - const HParser *base64_quad = h_sequence(bsfdig, bsfdig, bsfdig, bsfdig, NULL); - const HParser *base64_quads = h_many(base64_quad); + HParser *base64_quad = h_sequence(bsfdig, bsfdig, bsfdig, bsfdig, NULL); + HParser *base64_quads = h_many(base64_quad); - const HParser *base64_2 = h_sequence(bsfdig, bsfdig, bsfdig_4bit, equals, h_end_p(), NULL); - const HParser *base64_1 = h_sequence(bsfdig, bsfdig_2bit, equals, equals, h_end_p(), NULL); - const HParser *base64_ending = h_choice(h_end_p(), base64_2, base64_1, NULL); - const HParser *base64 = h_sequence(base64_quads, base64_ending, NULL); - // why does this parse "A=="?! - // why does this parse "aaA=" but not "aA=="?! + HParser *base64_2 = h_sequence(bsfdig, bsfdig, bsfdig_4bit, equals, h_end_p(), NULL); + HParser *base64_1 = h_sequence(bsfdig, bsfdig_2bit, equals, equals, h_end_p(), NULL); + HParser *base64_ending = h_choice(h_end_p(), base64_2, base64_1, NULL); + HParser *base64 = h_sequence(base64_quads, base64_ending, NULL); + // why does this parse "A=="?! + // why does this parse "aaA=" but not "aA=="?! document = base64; } @@ -53,7 +53,7 @@ void init_parser(void) #define FALSE (0) void assert_parse(int expected, char *data) { - const HParseResult *result; + HParseResult *result; size_t datasize = strlen(data); result = h_parse(document, (void*)data, datasize); @@ -63,7 +63,7 @@ void assert_parse(int expected, char *data) { #ifdef DEBUG else { fprintf(stderr, "Test succeeded: %s\n", data); - fprintf(stderr, "parsed=%lld bytes\n", result->bit_length/8); + fprintf(stderr, "parsed=%" PRId64 " bytes\n", result->bit_length/8); h_pprint(stdout, result->ast, 0, 0); } #endif @@ -90,7 +90,7 @@ int main(int argc, char **argv) { uint8_t input[102400]; size_t inputsize; - const HParseResult *result; + HParseResult *result; init_parser();