libsysprof-capture: Use strlcpy() instead of g_strlcpy()

If the system doesn’t provide `strlcpy()` (FreeBSD does, Linux doesn’t),
use an inbuilt copy instead.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
This commit is contained in:
Philip Withnall
2020-07-01 17:08:16 +01:00
parent 951b46fddf
commit 6e281dca1f
5 changed files with 42 additions and 13 deletions

View File

@ -236,3 +236,23 @@ ssize_t
errno = 0;
return total;
}
size_t
(_sysprof_strlcpy) (char *dest,
const char *src,
size_t dest_size)
{
size_t i = 0;
if (dest_size > 0)
{
for (; i < dest_size - 1 && src[i] != '\0'; i++)
dest[i] = src[i];
dest[i] = '\0';
}
for (; src[i] != '\0'; i++)
;
return i;
}