compat: move strdup(3) replacement to its own file
Move our implementation of strdup(3) out of compat/nedmalloc/ and allow it to be used independently from USE_NED_ALLOCATOR. The original nedmalloc doesn't come with strdup() and doesn't need it. Only _users_ of nedmalloc need it, which was added when we imported it to our compat/ hierarchy. This reduces the difference of our copy of nedmalloc from the original, making it easier to update, and allows for easier testing and reusing of our version of strdup(). Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
e0c1ceafc5
commit
ca2baa3f75
@ -948,22 +948,6 @@ void **nedpindependent_comalloc(nedpool *p, size_t elems, size_t *sizes, void **
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef OVERRIDE_STRDUP
|
||||
/*
|
||||
* This implementation is purely there to override the libc version, to
|
||||
* avoid a crash due to allocation and free on different 'heaps'.
|
||||
*/
|
||||
char *strdup(const char *s1)
|
||||
{
|
||||
size_t len = strlen(s1) + 1;
|
||||
char *s2 = malloc(len);
|
||||
|
||||
if (s2)
|
||||
memcpy(s2, s1, len);
|
||||
return s2;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user