compat: add mempcpy()
The mempcpy() function was added in glibc 2.1. It is quite handy, so add an implementation for cross-platform use. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
c4151629e7
commit
137c6eaa88
|
@ -331,6 +331,7 @@ extern int git_vsnprintf(char *str, size_t maxsize,
|
||||||
#ifdef __GLIBC_PREREQ
|
#ifdef __GLIBC_PREREQ
|
||||||
#if __GLIBC_PREREQ(2, 1)
|
#if __GLIBC_PREREQ(2, 1)
|
||||||
#define HAVE_STRCHRNUL
|
#define HAVE_STRCHRNUL
|
||||||
|
#define HAVE_MEMPCPY
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -344,6 +345,14 @@ static inline char *gitstrchrnul(const char *s, int c)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_MEMPCPY
|
||||||
|
#define mempcpy gitmempcpy
|
||||||
|
static inline void *gitmempcpy(void *dest, const void *src, size_t n)
|
||||||
|
{
|
||||||
|
return (char *)memcpy(dest, src, n) + n;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
extern void release_pack_memory(size_t, int);
|
extern void release_pack_memory(size_t, int);
|
||||||
|
|
||||||
extern char *xstrdup(const char *str);
|
extern char *xstrdup(const char *str);
|
||||||
|
|
Loading…
Reference in New Issue