MCPcopy Create free account
hub / github.com/assaultcube/AC / embedconfigfile

Function embedconfigfile

source/src/worldio.cpp:363–379  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

361}
362
363bool embedconfigfile()
364{
365 if(securemapcheck(getclientmap())) return false;
366 if(unsavededits) { conoutf("There are unsaved edits: they need to be saved or discarded before a config file can be embedded."); return false; }
367 setnames(getclientmap());
368 int len;
369 uchar *buf = (uchar *)loadfile(mcfname, &len);
370 if(buf)
371 {
372 for(int n; (n = findheaderextra(HX_CONFIG)) >= 0; ) deleteheaderextra(n);
373 headerextras.add(new headerextra(len + 1, HX_CONFIG|HX_FLAG_PERSIST, NULL))->data = buf;
374 backup(mcfname, cbakname); // don't delete the config file, just rename
375 conoutf("embedded map config file \"%s\"", mcfname);
376 }
377 else conoutf("\f3failed to load config file %s", mcfname);
378 return buf != NULL;
379}
380COMMANDF(embedconfigfile, "", () { if(embedconfigfile()) save_world(getclientmap()); });
381
382void extractconfigfile()

Callers 1

worldio.cppFile · 0.85

Calls 9

securemapcheckFunction · 0.85
getclientmapFunction · 0.85
setnamesFunction · 0.85
loadfileFunction · 0.85
findheaderextraFunction · 0.85
deleteheaderextraFunction · 0.85
backupFunction · 0.85
conoutfFunction · 0.70
addMethod · 0.45

Tested by

no test coverage detected