Fix string append crash on 0 len
This commit is contained in:
parent
fd00b9071c
commit
7809185daa
4
dqn.h
4
dqn.h
@ -5456,6 +5456,10 @@ bool DqnString::Expand(const i32 newMax)
|
|||||||
DQN_FILE_SCOPE bool DqnStringInternal_Append(DqnString *const str, char const *const cstr,
|
DQN_FILE_SCOPE bool DqnStringInternal_Append(DqnString *const str, char const *const cstr,
|
||||||
i32 const bytesToCopy)
|
i32 const bytesToCopy)
|
||||||
{
|
{
|
||||||
|
if (bytesToCopy <= 0)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Check and reserve space if needed
|
// Check and reserve space if needed
|
||||||
i32 totalLen = str->len + bytesToCopy;
|
i32 totalLen = str->len + bytesToCopy;
|
||||||
|
@ -605,7 +605,7 @@ void DqnString_Test()
|
|||||||
char *literal = "this is a literal string";
|
char *literal = "this is a literal string";
|
||||||
DqnString str = {};
|
DqnString str = {};
|
||||||
DQN_ASSERT(str.InitLiteralNoAlloc(literal));
|
DQN_ASSERT(str.InitLiteralNoAlloc(literal));
|
||||||
DQN_ASSERT(str.Append(", hello again") == false);
|
DQN_ASSERT(str.Append(", hello again") == false);
|
||||||
str.Free();
|
str.Free();
|
||||||
LogSuccess("DqnString(): Try init literl no alloc, no further expansion");
|
LogSuccess("DqnString(): Try init literl no alloc, no further expansion");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user