Fix PycCode incompatibility with Python 1.0

This commit is contained in:
Michael Hansen
2018-04-26 15:13:52 -07:00
parent 0c3955883f
commit 7f63529d49
3 changed files with 24 additions and 2 deletions

View File

@@ -36,8 +36,14 @@ void PycCode::load(PycData* stream, PycModule* mod)
m_flags = 0;
m_code = LoadObject(stream, mod).require_cast<PycString>();
m_consts = LoadObject(stream, mod).require_cast<PycTuple>();
m_names = LoadObject(stream, mod).require_cast<PycTuple>();
if (mod->verCompare(1, 1) < 0) {
m_consts = PycTuple::fromList(LoadObject(stream, mod).require_cast<PycList>());
m_names = PycTuple::fromList(LoadObject(stream, mod).require_cast<PycList>());
} else {
m_consts = LoadObject(stream, mod).require_cast<PycTuple>();
m_names = LoadObject(stream, mod).require_cast<PycTuple>();
}
if (mod->verCompare(1, 3) >= 0)
m_varNames = LoadObject(stream, mod).require_cast<PycTuple>();