diff --git a/libretro-common/compat/compat_strl.c b/libretro-common/compat/compat_strl.c index 668b3d9236..ffe078c368 100644 --- a/libretro-common/compat/compat_strl.c +++ b/libretro-common/compat/compat_strl.c @@ -60,3 +60,10 @@ size_t strlcat(char *dest, const char *source, size_t size) return len + strlcpy(dest, source, size); } #endif + +char *strldup(const char *s, size_t n) +{ + char *dst = malloc(sizeof(char) * (n + 1)); + strlcpy(dst, s, n); + return dst; +} diff --git a/libretro-common/include/compat/strl.h b/libretro-common/include/compat/strl.h index a68005ac2f..1b72f7db0a 100644 --- a/libretro-common/include/compat/strl.h +++ b/libretro-common/include/compat/strl.h @@ -52,6 +52,8 @@ size_t strlcat(char *dest, const char *source, size_t size); #endif +char *strldup(const char *s, size_t n); + RETRO_END_DECLS #endif