to strncpy(). Eliminates overlap warnings.
char *safestrncpy(char *dest, const char *src, size_t n)
{
char *safestrncpy(char *dest, const char *src, size_t n)
{
if (dest == NULL || src == NULL) {
fprintf(stderr, "safestrncpy: NULL argument\n");
abort();
}
if (dest == NULL || src == NULL) {
fprintf(stderr, "safestrncpy: NULL argument\n");
abort();
}
+
+ do {
+ dest[i] = src[i];
+ if (dest[i] == 0) return(dest);
+ ++i;
+ } while (i<n);
dest[n - 1] = 0;
return dest;
}
dest[n - 1] = 0;
return dest;
}