#include size_t uc_strlcpy(char *restrict dst, const char *restrict src, size_t max) { size_t len = strlen(src); if (max != 0) { if (len >= max) { memcpy(dst, src, max - 1); dst[max - 1] = 0; } else { memcpy(dst, src, len + 1); } } return len; }