MCPcopy Create free account
hub / github.com/TASEmulators/fceux / ImportRecords

Method ImportRecords

src/lua-engine.cpp:1333–1368  ·  view source on GitHub ↗

reads records from an already-open file

Source from the content-addressed store, hash-verified

1331
1332// reads records from an already-open file
1333void LuaSaveData::ImportRecords(void* fileV)
1334{
1335 FILE* file = (FILE*)fileV;
1336 if(!file)
1337 return;
1338
1339 ClearRecords();
1340
1341 Record rec;
1342 Record* cur = &rec;
1343 Record* last = NULL;
1344 while(1)
1345 {
1346 freadint(cur->key, file);
1347 freadint(cur->size, file);
1348
1349 if(feof(file) || ferror(file))
1350 break;
1351
1352 cur->data = new unsigned char [cur->size];
1353 if ( fread(cur->data, cur->size, 1, file) == 0 )
1354 {
1355 memset( cur->data, 0, cur->size );
1356 }
1357
1358 Record* next = new Record();
1359 memcpy(next, cur, sizeof(Record));
1360 next->next = NULL;
1361
1362 if(last)
1363 last->next = next;
1364 else
1365 recordList = next;
1366 last = next;
1367 }
1368}
1369
1370void LuaSaveData::ClearRecords()
1371{

Callers 2

FCEUSS_LoadFunction · 0.80
savestate_loadscriptdataFunction · 0.80

Calls 1

freadintFunction · 0.85

Tested by

no test coverage detected