Implement mempcpy() in terms of memcpy() if mempcpy() is unavailable
This commit is contained in:
parent
b548a8c989
commit
02887b73eb
|
@ -313,6 +313,7 @@ AC_CHECK_FUNCS([ \
|
||||||
lchown \
|
lchown \
|
||||||
llseek \
|
llseek \
|
||||||
lseek64 \
|
lseek64 \
|
||||||
|
mempcpy \
|
||||||
nanosleep \
|
nanosleep \
|
||||||
personality \
|
personality \
|
||||||
posix_fadvise \
|
posix_fadvise \
|
||||||
|
|
|
@ -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 long strtol_or_err(const char *str, const char *errmesg);
|
||||||
extern unsigned long strtoul_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
|
#ifndef HAVE_STRNLEN
|
||||||
extern size_t strnlen(const char *s, size_t maxlen);
|
extern size_t strnlen(const char *s, size_t maxlen);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -132,6 +132,13 @@ err:
|
||||||
return -1;
|
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
|
#ifndef HAVE_STRNLEN
|
||||||
size_t strnlen(const char *s, size_t maxlen)
|
size_t strnlen(const char *s, size_t maxlen)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue