27 #include "../common/common.h"
34 const ptrdiff_t filled = hunk->
pos - hunk->
hunk;
35 const size_t remaining = hunk->
size - filled;
36 const size_t strLength = strlen(
string);
37 const bool overflow = remaining <= strLength;
46 *hunk->
pos++ =
'\xFF';
50 hunk->
pos += overflow ? remaining - 1: strLength + 1;
64 const char*
string = hunk->
hunk;
71 string += strlen(
string) + 1;
72 if (*
string !=
'\xFF')
85 return hunk->
size - (ptrdiff_t)(hunk->
pos - hunk->
hunk);
#define Mem_AllocTypeN(type, n)
Header for string hunk management.
bool STRHUNK_Add(stringHunk_t *hunk, const char *string)
void Q_strncpyz(char *dest, const char *src, size_t destsize)
Safe strncpy that ensures a trailing zero.
stringHunk_t * STRHUNK_Create(size_t size)
int STRHUNK_Size(const stringHunk_t *hunk)
void(* stringHunkVisitor_t)(const char *string)
void STRHUNK_Reset(stringHunk_t *hunk)
#define Mem_AllocType(type)
size_t STRHUNK_GetFreeSpace(const stringHunk_t *hunk)
void STRHUNK_Delete(stringHunk_t **hunk)
void STRHUNK_Visit(stringHunk_t *hunk, stringHunkVisitor_t visitor)