mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
mem: add av_strndup() for duplicating substrings
This commit is contained in:
parent
aa51b0492b
commit
8ddc32629a
@ -13,6 +13,9 @@ libavutil: 2014-08-09
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2014-08-xx - xxxxxxx - lavu 54.03.0 - mem.h
|
||||||
|
Add av_strndup().
|
||||||
|
|
||||||
2014-xx-xx - xxxxxxx - lavu 54.02.0 - opt.h
|
2014-xx-xx - xxxxxxx - lavu 54.02.0 - opt.h
|
||||||
Add av_opt_get_dict_val/set_dict_val with AV_OPT_TYPE_DICT to support
|
Add av_opt_get_dict_val/set_dict_val with AV_OPT_TYPE_DICT to support
|
||||||
dictionary types being set as options.
|
dictionary types being set as options.
|
||||||
|
@ -222,6 +222,26 @@ char *av_strdup(const char *s)
|
|||||||
return ptr;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
static void fill16(uint8_t *dst, int len)
|
static void fill16(uint8_t *dst, int len)
|
||||||
{
|
{
|
||||||
uint32_t v = AV_RN16(dst - 2);
|
uint32_t v = AV_RN16(dst - 2);
|
||||||
|
@ -217,6 +217,16 @@ av_alloc_size(1, 2) static inline void *av_mallocz_array(size_t nmemb, size_t si
|
|||||||
*/
|
*/
|
||||||
char *av_strdup(const char *s) av_malloc_attrib;
|
char *av_strdup(const char *s) av_malloc_attrib;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Duplicate a substring of the string s.
|
||||||
|
* @param s string to be duplicated
|
||||||
|
* @param len the maximum length of the resulting string (not counting the
|
||||||
|
* terminating byte).
|
||||||
|
* @return Pointer to a newly-allocated string containing a
|
||||||
|
* copy of s or NULL if the string cannot be allocated.
|
||||||
|
*/
|
||||||
|
char *av_strndup(const char *s, size_t len) av_malloc_attrib;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Free a memory block which has been allocated with av_malloc(z)() or
|
* Free a memory block which has been allocated with av_malloc(z)() or
|
||||||
* av_realloc() and set the pointer pointing to it to NULL.
|
* av_realloc() and set the pointer pointing to it to NULL.
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_MAJOR 54
|
#define LIBAVUTIL_VERSION_MAJOR 54
|
||||||
#define LIBAVUTIL_VERSION_MINOR 2
|
#define LIBAVUTIL_VERSION_MINOR 3
|
||||||
#define LIBAVUTIL_VERSION_MICRO 0
|
#define LIBAVUTIL_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||||
|
Loading…
Reference in New Issue
Block a user