aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-01-03 00:12:24 +0000
committergingerBill <bill@gingerbill.org>2019-01-03 00:12:24 +0000
commitdd28fe6e82cca59ad5104275ffbbfa2e7d5fd33a (patch)
treec5f2753705858f54bc34f629252b0e3f9d4a1f85
parentcda0f4d8f37e738af30141c134419c412a580e0c (diff)
Update CEL
-rw-r--r--core/encoding/cel/cel.odin2
-rw-r--r--src/types.cpp3
2 files changed, 4 insertions, 1 deletions
diff --git a/core/encoding/cel/cel.odin b/core/encoding/cel/cel.odin
index 7d59cd386..3f7362203 100644
--- a/core/encoding/cel/cel.odin
+++ b/core/encoding/cel/cel.odin
@@ -205,7 +205,7 @@ unquote_char :: proc(s: string, quote: byte) -> (r: rune, multiple_bytes: bool,
if s[0] == quote && quote == '"' {
return;
} else if s[0] >= 0x80 {
- r, w := utf8.decode_rune_from_string(s);
+ r, w := utf8.decode_rune_in_string(s);
return r, true, s[w:], true;
} else if s[0] != '\\' {
return rune(s[0]), false, s[1:], true;
diff --git a/src/types.cpp b/src/types.cpp
index e6010b1e5..cd610d3cb 100644
--- a/src/types.cpp
+++ b/src/types.cpp
@@ -1338,6 +1338,9 @@ bool is_type_polymorphic(Type *t, bool or_specialized=false) {
break;
case Type_Map:
+ if (t->Map.key == nullptr || t->Map.value == nullptr) {
+ return false;
+ }
if (is_type_polymorphic(t->Map.key, or_specialized)) {
return true;
}