add Hunk_Memdup

master
an 2019-12-04 05:54:07 -05:00
parent 0c63cad638
commit 0ce5d4e078
2 changed files with 10 additions and 5 deletions

View File

@ -579,11 +579,15 @@ void *Hunk_TempAlloc(int32_t size)
return buf;
}
char *Hunk_Strdup(const char *s, const char *name)
void *Hunk_Strdup(void const *s, char const *name)
{
size_t sz = strlen(s) + 1;
char *ptr = (char *) Hunk_AllocName(sz, name);
memcpy(ptr, s, sz);
return Hunk_Memdup(s, strlen(s) + 1, name);
}
void *Hunk_Memdup(void const *mem, size_t n, char const *name)
{
void *ptr = Hunk_AllocName(n, name);
memcpy(ptr, mem, n);
return ptr;
}

View File

@ -99,7 +99,8 @@ char *Z_Strdup(const char *s);
void *Hunk_Alloc(int32_t size); // returns 0 filled memory
void *Hunk_AllocName(int32_t size, const char *name);
void *Hunk_HighAllocName(int32_t size, const char *name);
char *Hunk_Strdup(const char *s, const char *name);
void *Hunk_Strdup(void const *s, char const *name);
void *Hunk_Memdup(void const *mem, size_t n, char const *name);
int32_t Hunk_LowMark(void);
void Hunk_FreeToLowMark(int32_t mark);