summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRasmus Villemoes <[email protected]>2026-04-21 09:54:31 +0200
committerTom Rini <[email protected]>2026-05-12 15:38:00 -0600
commitca1c292d2ee6bcb06be71400d25ae37e9dc2c1aa (patch)
tree23832b238f7c65f9d8de787e8b7afcef9c6417a8 /include
parentbbc04206b5cb358e1482d06c74f2801c9ef97751 (diff)
string: fix prototype of memdup()
It doesn't make sense to restrict memdup() to only return char* pointers, especially when it is already defined to accept void*. This makes it uglier to use to e.g. duplicate a struct. Make it return void*, just as kmemdup() does in the kernel (and which our kmemdup() in fact also does). While in here, make a small optimization: memcpy() is defined to return the destination register, so we write this in a way that the compiler may do a tail call. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
Diffstat (limited to 'include')
-rw-r--r--include/linux/string.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/string.h b/include/linux/string.h
index d943fcce690..9e47fe01c16 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -142,7 +142,7 @@ void *memchr_inv(const void *, int, size_t);
* memory is available
*
*/
-char *memdup(const void *src, size_t len);
+void *memdup(const void *src, size_t len);
unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base);