Browse Source

Update CEL

gingerBill 6 years ago
parent
commit
dd28fe6e82
2 changed files with 4 additions and 1 deletions
  1. 1 1
      core/encoding/cel/cel.odin
  2. 3 0
      src/types.cpp

+ 1 - 1
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 == '"' {
 	if s[0] == quote && quote == '"' {
 		return;
 		return;
 	} else if s[0] >= 0x80 {
 	} 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;
 		return r, true, s[w:], true;
 	} else if s[0] != '\\' {
 	} else if s[0] != '\\' {
 		return rune(s[0]), false, s[1:], true;
 		return rune(s[0]), false, s[1:], true;

+ 3 - 0
src/types.cpp

@@ -1338,6 +1338,9 @@ bool is_type_polymorphic(Type *t, bool or_specialized=false) {
 		break;
 		break;
 
 
 	case Type_Map:
 	case Type_Map:
+		if (t->Map.key == nullptr || t->Map.value == nullptr) {
+			return false;
+		}
 		if (is_type_polymorphic(t->Map.key, or_specialized)) {
 		if (is_type_polymorphic(t->Map.key, or_specialized)) {
 			return true;
 			return true;
 		}
 		}