@@ -6913,6 +6913,15 @@ typedef struct {
6913
6913
const uint8_t *cursor;
6914
6914
} pm_token_buffer_t;
6915
6915
6916
+ static inline bool
6917
+ pm_token_buffer_init(pm_token_buffer_t *token_buffer) {
6918
+ if (!pm_buffer_init(&token_buffer->buffer)) {
6919
+ return false;
6920
+ }
6921
+ token_buffer->cursor = NULL;
6922
+ return true;
6923
+ }
6924
+
6916
6925
// Push the given byte into the token buffer.
6917
6926
static inline void
6918
6927
pm_token_buffer_push(pm_token_buffer_t *token_buffer, uint8_t byte) {
@@ -8213,7 +8222,8 @@ parser_lex(pm_parser_t *parser) {
8213
8222
8214
8223
// If we haven't found an escape yet, then this buffer will be
8215
8224
// unallocated since we can refer directly to the source string.
8216
- pm_token_buffer_t token_buffer = { 0 };
8225
+ pm_token_buffer_t token_buffer;
8226
+ pm_token_buffer_init(&token_buffer);
8217
8227
8218
8228
while (breakpoint != NULL) {
8219
8229
// If we hit a null byte, skip directly past it.
@@ -8389,7 +8399,8 @@ parser_lex(pm_parser_t *parser) {
8389
8399
// characters.
8390
8400
const uint8_t *breakpoints = lex_mode->as.regexp.breakpoints;
8391
8401
const uint8_t *breakpoint = pm_strpbrk(parser, parser->current.end, breakpoints, parser->end - parser->current.end);
8392
- pm_token_buffer_t token_buffer = { 0 };
8402
+ pm_token_buffer_t token_buffer;
8403
+ pm_token_buffer_init(&token_buffer);
8393
8404
8394
8405
while (breakpoint != NULL) {
8395
8406
// If we hit a null byte, skip directly past it.
@@ -8578,7 +8589,8 @@ parser_lex(pm_parser_t *parser) {
8578
8589
8579
8590
// If we haven't found an escape yet, then this buffer will be
8580
8591
// unallocated since we can refer directly to the source string.
8581
- pm_token_buffer_t token_buffer = { 0 };
8592
+ pm_token_buffer_t token_buffer;
8593
+ pm_token_buffer_init(&token_buffer);
8582
8594
8583
8595
while (breakpoint != NULL) {
8584
8596
// If we hit the incrementor, then we'll increment then nesting and
@@ -8839,7 +8851,8 @@ parser_lex(pm_parser_t *parser) {
8839
8851
}
8840
8852
8841
8853
const uint8_t *breakpoint = pm_strpbrk(parser, parser->current.end, breakpoints, parser->end - parser->current.end);
8842
- pm_token_buffer_t token_buffer = { 0 };
8854
+ pm_token_buffer_t token_buffer;
8855
+ pm_token_buffer_init(&token_buffer);
8843
8856
bool was_escaped_newline = false;
8844
8857
8845
8858
while (breakpoint != NULL) {
0 commit comments