File: utils.h

package info (click to toggle)
freespace2 24.2.0%2Brepack-1
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid
  • size: 43,716 kB
  • sloc: cpp: 595,001; ansic: 21,741; python: 1,174; sh: 457; makefile: 248; xml: 181
file content (26 lines) | stat: -rw-r--r-- 408 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include <cstring>

#include "globalincs/pstypes.h"

inline char *vm_strndup(const char *ptr, size_t size)
{
	char *dst = (char *) vm_malloc(size + 1);

	if (!dst)
		return NULL;

	std::strncpy(dst, ptr, size);
	// make sure it has a NULL terminiator
	dst[size] = '\0';

	return dst;
}

inline char *vm_strdup(const char *ptr)
{
	size_t len = std::strlen(ptr);

	return vm_strndup(ptr, len);
}