Am 07.04.2017 um 16:23 schrieb Martin Liška:
On 04/06/2017 10:49 PM, Johannes Sixt wrote:
Am 06.04.2017 um 19:31 schrieb René Scharfe:
Am 06.04.2017 um 18:33 schrieb Johannes Sixt:
Am 06.04.2017 um 17:42 schrieb Martin Liška:
+static inline void *sane_memmove(void *dest, const void *src, size_t n)
+{
+ if (n > 0)
+ return memmove(dest, src, n);
+ else
+ return dest;
+}
Huh? memmove with n == 0 is well-defined. This wrapper is pointless.
memmove(3) with NULL pointers is undefined.
Then don't hide this helper behind a macro with a suspiciously similar name. Using the name sane_mmemove at the call site is preferable. memmove_or_null or something similar perhaps even more so.
-- Hannes
Good. There's tested v4.
Thank you! I'd *still* prefer MOVE_ARRAY, though. Patches to follow.
René