X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavutil%2Fmem.c;h=35a82e8a2dfb09fb88e3b583ce9eca7ef8b3417a;hb=24e81a0a8d86e764dfb89cb21e9caa4aff073e1c;hp=8226168eedc62ed002c6328653e2fd4b1ec6a9ef;hpb=bd879652476b1d57628f09531038ef4487fd68a6;p=ffmpeg diff --git a/libavutil/mem.c b/libavutil/mem.c index 8226168eedc..35a82e8a2df 100644 --- a/libavutil/mem.c +++ b/libavutil/mem.c @@ -267,6 +267,26 @@ char *av_strdup(const char *s) return ptr; } +char *av_strndup(const char *s, size_t len) +{ + char *ret = NULL, *end; + + if (!s) + return NULL; + + end = memchr(s, 0, len); + if (end) + len = end - s; + + ret = av_realloc(NULL, len + 1); + if (!ret) + return NULL; + + memcpy(ret, s, len); + ret[len] = 0; + return ret; +} + void *av_memdup(const void *p, size_t size) { void *ptr = NULL;