From 6312a50045f95e4730e24506da34b49b67d52a86 Mon Sep 17 00:00:00 2001 From: Seeker Date: Sun, 27 Dec 2020 00:20:02 -0800 Subject: Fix operand types error --- mrbgems/mruby-compiler/core/parse.y | 14 +++++++------- mrbgems/mruby-compiler/core/y.tab.c | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 77279b8a8..9615ea7ca 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -1358,10 +1358,10 @@ heredoc_end(parser_state *p) node *list = info->doc; node *list2 = NULL; while (list) { - if (list->car->car == NODE_STR) { + if (((enum node_type)(intptr_t)list->car->car) == NODE_STR) { node *pair = list->car->cdr; - const char *str = (char*) pair->car; - size_t len = (size_t) pair->cdr; + const char *str = (char*)pair->car; + size_t len = (size_t)pair->cdr; if (counting) { list2 = push(list2, pair); } @@ -1392,10 +1392,10 @@ heredoc_end(parser_state *p) if (indent > 0) { while (list2) { node *pair = list2->car; - const char *str = (char*) pair->car; - size_t len = (size_t) pair->cdr; - pair->car = (node*) (str + indent); - pair->cdr = (node*) (len - indent); + const char *str = (char*)pair->car; + size_t len = (size_t)pair->cdr; + pair->car = (node*)(str + indent); + pair->cdr = (node*)(len - indent); list2 = list2->cdr; } } diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index 8189d5de2..dafff6ed2 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -1422,10 +1422,10 @@ heredoc_end(parser_state *p) node *list = info->doc; node *list2 = NULL; while (list) { - if (list->car->car == NODE_STR) { + if (((enum node_type)(intptr_t)list->car->car) == NODE_STR) { node *pair = list->car->cdr; - const char *str = (char*) pair->car; - size_t len = (size_t) pair->cdr; + const char *str = (char*)pair->car; + size_t len = (size_t)pair->cdr; if (counting) { list2 = push(list2, pair); } @@ -1456,10 +1456,10 @@ heredoc_end(parser_state *p) if (indent > 0) { while (list2) { node *pair = list2->car; - const char *str = (char*) pair->car; - size_t len = (size_t) pair->cdr; - pair->car = (node*) (str + indent); - pair->cdr = (node*) (len - indent); + const char *str = (char*)pair->car; + size_t len = (size_t)pair->cdr; + pair->car = (node*)(str + indent); + pair->cdr = (node*)(len - indent); list2 = list2->cdr; } } -- cgit v1.2.3