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