Implement mempcpy() in terms of memcpy() if mempcpy() is unavailable

This commit is contained in:
Daniel Trebbien 2013-01-30 18:49:08 -05:00
parent b548a8c989
commit 02887b73eb
3 changed files with 11 additions and 0 deletions

View File

@ -313,6 +313,7 @@ AC_CHECK_FUNCS([ \
lchown \
llseek \
lseek64 \
mempcpy \
nanosleep \
personality \
posix_fadvise \

View File

@ -28,6 +28,9 @@ extern double strtod_or_err(const char *str, const char *errmesg);
extern long strtol_or_err(const char *str, const char *errmesg);
extern unsigned long strtoul_or_err(const char *str, const char *errmesg);
#ifndef HAVE_MEMPCPY
extern void *mempcpy(void *restrict dest, const void *restrict src, size_t n);
#endif
#ifndef HAVE_STRNLEN
extern size_t strnlen(const char *s, size_t maxlen);
#endif

View File

@ -132,6 +132,13 @@ err:
return -1;
}
#ifndef HAVE_MEMPCPY
void *mempcpy(void *restrict dest, const void *restrict src, size_t n)
{
return ((char *)memcpy(dest, src, n)) + n;
}
#endif
#ifndef HAVE_STRNLEN
size_t strnlen(const char *s, size_t maxlen)
{