match ostd api
parent
568c07521f
commit
814b2824e9
|
@ -101,14 +101,14 @@ void CsValue::set_str(CsString val) {
|
||||||
p_type = CsValueType::String;
|
p_type = CsValueType::String;
|
||||||
p_len = val.size();
|
p_len = val.size();
|
||||||
if (p_len == 0) {
|
if (p_len == 0) {
|
||||||
/* ostd zero length strings cannot be disowned */
|
/* ostd zero length strings cannot be releaseed */
|
||||||
char *buf = new char[1];
|
char *buf = new char[1];
|
||||||
buf[0] = '\0';
|
buf[0] = '\0';
|
||||||
csv_get<char *>(p_stor) = buf;
|
csv_get<char *>(p_stor) = buf;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
csv_get<char *>(p_stor) = val.data();
|
csv_get<char *>(p_stor) = val.data();
|
||||||
val.disown();
|
val.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CsValue::set_null() {
|
void CsValue::set_null() {
|
||||||
|
|
|
@ -185,7 +185,7 @@ static inline ostd::Uint32 *forcecode(CsState &cs, CsValue &v) {
|
||||||
GenState gs(cs);
|
GenState gs(cs);
|
||||||
gs.code.reserve(64);
|
gs.code.reserve(64);
|
||||||
gs.gen_main(v.get_str());
|
gs.gen_main(v.get_str());
|
||||||
v.set_code(reinterpret_cast<CsBytecode *>(gs.code.disown() + 1));
|
v.set_code(reinterpret_cast<CsBytecode *>(gs.code.release() + 1));
|
||||||
code = reinterpret_cast<ostd::Uint32 *>(v.get_code());
|
code = reinterpret_cast<ostd::Uint32 *>(v.get_code());
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
|
@ -886,7 +886,7 @@ static ostd::Uint32 *runcode(CsState &cs, ostd::Uint32 *code, CsValue &result) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
arg.set_code(
|
arg.set_code(
|
||||||
reinterpret_cast<CsBytecode *>(gs.code.disown() + 1)
|
reinterpret_cast<CsBytecode *>(gs.code.release() + 1)
|
||||||
);
|
);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -902,7 +902,7 @@ static ostd::Uint32 *runcode(CsState &cs, ostd::Uint32 *code, CsValue &result) {
|
||||||
gs.code.reserve(64);
|
gs.code.reserve(64);
|
||||||
gs.gen_main(s);
|
gs.gen_main(s);
|
||||||
arg.set_code(reinterpret_cast<CsBytecode *>(
|
arg.set_code(reinterpret_cast<CsBytecode *>(
|
||||||
gs.code.disown() + 1
|
gs.code.release() + 1
|
||||||
));
|
));
|
||||||
} else {
|
} else {
|
||||||
arg.force_null();
|
arg.force_null();
|
||||||
|
@ -1584,7 +1584,7 @@ static void cs_run(
|
||||||
gs.gen_main(code.data(), CsValAny);
|
gs.gen_main(code.data(), CsValAny);
|
||||||
runcode(cs, gs.code.data() + 1, ret);
|
runcode(cs, gs.code.data() + 1, ret);
|
||||||
if (int(gs.code[0]) >= 0x100) {
|
if (int(gs.code[0]) >= 0x100) {
|
||||||
gs.code.disown();
|
gs.code.release();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue