MCPcopy Create free account
hub / github.com/defold/defold / WriteResponseToFile

Function WriteResponseToFile

engine/gamesys/src/gamesys/scripts/script_http_util.h:25–49  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23namespace dmGameSystem
24{
25 static bool WriteResponseToFile(const char* path, const void* data, uint32_t data_len)
26 {
27 char tmpname[DMPATH_MAX_PATH];
28 dmStrlCpy(tmpname, path, sizeof(tmpname));
29 dmStrlCat(tmpname, "._httptmp", sizeof(tmpname));
30 FILE* f = fopen(tmpname, "wb");
31 if (!f) {
32 return false;
33 }
34 size_t nwritten = fwrite(data, 1, data_len, f);
35 fclose(f);
36 if (nwritten != data_len)
37 {
38 dmLogError("Failed to write '%u' bytes to '%s'", data_len, path);
39 return false;
40 }
41
42 dmSys::Result result = dmSys::Rename(path, tmpname);
43 if (dmSys::RESULT_OK != result)
44 {
45 dmLogError("Failed to rename '%s' to '%s'", tmpname, path);
46 return false;
47 }
48 return true;
49 }
50
51 dmScript::Result HttpResponseDecoder(lua_State* L, const dmDDF::Descriptor* desc, const char* data)
52 {

Callers 1

HttpResponseDecoderFunction · 0.85

Calls 3

dmStrlCpyFunction · 0.85
dmStrlCatFunction · 0.85
RenameFunction · 0.50

Tested by

no test coverage detected