Refactoring work with cache

This commit is contained in:
Oleg Korshul
2024-08-27 13:04:20 +03:00
parent 84fc9f876e
commit 13590d4c2e
10 changed files with 340 additions and 410 deletions

View File

@ -1,7 +1,7 @@
#ifndef _BUILD_NATIVE_DEFAULT_EMBED_H_
#define _BUILD_NATIVE_DEFAULT_EMBED_H_
#include "../js_internal/js_base.h"
#include "../js_internal/js_base.h"
namespace NSJSBase
{

View File

@ -7,12 +7,12 @@ JSSmart<CJSValue> MoveMemoryToJS(BYTE* pWasmData)
int nLen = 0;
memcpy(&nLen, pWasmData, sizeof(int));
if (0 >= nLen)
if (4 >= nLen)
return CJSContext::createNull();
size_t nBufferSize = (size_t)nLen;
size_t nBufferSize = (size_t)(nLen - 4);
BYTE* pMemory = NSJSBase::NSAllocator::Alloc(nBufferSize);
memcpy(pMemory, pWasmData, nBufferSize);
memcpy(pMemory, pWasmData + 4, nBufferSize);
free(pWasmData);
return NSJSBase::CJSContext::createUint8Array(pMemory, (int)nBufferSize, false);
@ -111,5 +111,9 @@ JSSmart<CJSValue> CDrawingFileEmbed::ScanPage(JSSmart<CJSValue> nPageIndex, JSSm
JSSmart<CJSValue> CDrawingFileEmbed::GetImageBase64(JSSmart<CJSValue> rId)
{
std::string* pData = (std::string*)m_pFile->GetImageBase64(rId->toInt32());
return pData ? CJSContext::createString(*pData) : CJSContext::createNull();
if (!pData)
return CJSContext::createNull();
JSSmart<CJSValue> ret = CJSContext::createString(*pData);
*pData = "";
return ret;
}