Merge pull request #4007 from TGIshib/key
lookupByKey corrections
diff --git a/src/idl_gen_general.cpp b/src/idl_gen_general.cpp
index 274a22f..b303d88 100644
--- a/src/idl_gen_general.cpp
+++ b/src/idl_gen_general.cpp
@@ -703,7 +703,7 @@
auto get_val = GenGetter(key_field->value.type) +
"(" + GenOffsetGetter(key_field) + ")";
if (lang_.language == IDLOptions::kCSharp) {
- key_getter += "int comp = " + get_val + ".CompateTo(key);\n";
+ key_getter += "int comp = " + get_val + ".CompareTo(key);\n";
} else {
key_getter += GenTypeGet(key_field->value.type) + " val = ";
key_getter += get_val + ";\n";
@@ -1234,11 +1234,13 @@
code += "ookupByKey(" + GenVectorOffsetType();
code += " vectorOffset, " + GenTypeGet(key_field->value.type);
code += " key, ByteBuffer bb) {\n";
- code += " byte[] byteKey = ";
- if (lang_.language == IDLOptions::kJava)
- code += "key.getBytes(Table.UTF8_CHARSET.get());\n";
- else
- code += "System.Text.Encoding.UTF8.GetBytes(key);\n";
+ if (key_field->value.type.base_type == BASE_TYPE_STRING) {
+ code += " byte[] byteKey = ";
+ if (lang_.language == IDLOptions::kJava)
+ code += "key.getBytes(Table.UTF8_CHARSET.get());\n";
+ else
+ code += "System.Text.Encoding.UTF8.GetBytes(key);\n";
+ }
code += " int vectorLocation = " + GenByteBufferLength("bb");
code += " - vectorOffset";
if (lang_.language == IDLOptions::kCSharp) code += ".Value";