mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-10 12:41:35 -10:00
28 lines
445 B
C++
28 lines
445 B
C++
#ifndef MEMORY_UTILS_H
|
|
#define MEMORY_UTILS_H
|
|
|
|
#include <cstring>
|
|
|
|
inline char *vm_strndup(const char *ptr, size_t len)
|
|
{
|
|
char *dst = static_cast<char *>(vm_malloc(len + 1));
|
|
|
|
if (!dst)
|
|
return nullptr;
|
|
|
|
std::strncpy(dst, ptr, len);
|
|
// make sure it has a NULL terminiator
|
|
dst[len] = '\0';
|
|
|
|
return dst;
|
|
}
|
|
|
|
inline char *vm_strdup(const char *ptr)
|
|
{
|
|
size_t len = std::strlen(ptr);
|
|
|
|
return vm_strndup(ptr, len);
|
|
}
|
|
|
|
#endif // MEMORY_UTILS_H
|