MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / write

Method write

Engine/source/core/memVolume.cpp:416–441  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

414 }
415
416 U32 MemFile::write(const void* src, U32 size)
417 {
418 if ((mStatus != Open && mStatus != EndOfFile) || !size)
419 return 0;
420
421 if (mFileData->mFileSize + size > mFileData->mBufferSize)
422 {
423 // Keep doubling our buffer size until we're big enough.
424 while (mFileData->mFileSize + size > mFileData->mBufferSize)
425 mFileData->mBufferSize *= 2;
426 mFileData->mBuffer = dRealloc(mFileData->mBuffer, mFileData->mBufferSize);
427 if (!mFileData->mBuffer)
428 {
429 mStatus = FileSystemFull;
430 return 0;
431 }
432 }
433
434 dMemcpy((U8*)mFileData->mBuffer + mCurrentPos, src, size);
435 mCurrentPos += size;
436 mFileData->mFileSize = getMax(mFileData->mFileSize, mCurrentPos);
437 mFileData->mLastAccess = Time::getCurrentTime();
438 mFileData->mModified = mFileData->mLastAccess;
439
440 return size;
441 }
442
443 //-----------------------------------------------------------------------------
444

Callers 5

writeHeaderMethod · 0.45
writeLineMethod · 0.45
writeObjectMethod · 0.45
copyFileMethod · 0.45
writeDemoStartBlockMethod · 0.45

Calls 3

getMaxFunction · 0.85
dMemcpyFunction · 0.50
getCurrentTimeFunction · 0.50

Tested by

no test coverage detected