[0.4.0] Introduce WrenLoadModuleResult, fix unfreed strings from host. (#778)

This commit is contained in:
ruby
2020-12-03 09:27:54 -08:00
committed by GitHub
parent e7071fffa5
commit 6bd2f810e2
7 changed files with 99 additions and 35 deletions

View File

@ -364,7 +364,15 @@
}
}
char* readModule(WrenVM* vm, const char* module)
void readModuleComplete(WrenVM* vm, const char* module, WrenLoadModuleResult result)
{
if (result.source) {
free((void*)result.source);
result.source = NULL;
}
}
WrenLoadModuleResult readModule(WrenVM* vm, const char* module)
{
Path* filePath = pathNew(module);
@ -375,8 +383,11 @@
char* source = readFile(filePath->chars);
pathFree(filePath);
//may or may not be null
return source;
//source may or may not be null
WrenLoadModuleResult result;
result.source = source;
result.onComplete = readModuleComplete;
return result;
}