mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 00:32:31 +00:00
av_string: add av_asprintf().
This commit is contained in:
parent
1889c6724a
commit
61e2e29691
@ -13,6 +13,9 @@ libavutil: 2011-04-18
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2011-09-xx - xxxxxxx - lavu 51.16.0
|
||||
Add av_asprintf().
|
||||
|
||||
2011-08-22 - dacd827 - lavf 53.10.0
|
||||
Add av_find_program_from_stream().
|
||||
|
||||
|
@ -91,6 +91,32 @@ size_t av_strlcatf(char *dst, size_t size, const char *fmt, ...)
|
||||
return len;
|
||||
}
|
||||
|
||||
char *av_asprintf(const char *fmt, ...)
|
||||
{
|
||||
char *p = NULL;
|
||||
va_list va;
|
||||
int len;
|
||||
|
||||
va_start(va, fmt);
|
||||
len = vsnprintf(NULL, 0, fmt, va);
|
||||
va_end(va);
|
||||
if (len < 0)
|
||||
goto end;
|
||||
|
||||
p = av_malloc(len + 1);
|
||||
if (!p)
|
||||
goto end;
|
||||
|
||||
va_start(va, fmt);
|
||||
len = vsnprintf(p, len + 1, fmt, va);
|
||||
va_end(va);
|
||||
if (len < 0)
|
||||
av_freep(&p);
|
||||
|
||||
end:
|
||||
return p;
|
||||
}
|
||||
|
||||
char *av_d2str(double d)
|
||||
{
|
||||
char *str= av_malloc(16);
|
||||
|
@ -110,6 +110,16 @@ size_t av_strlcat(char *dst, const char *src, size_t size);
|
||||
*/
|
||||
size_t av_strlcatf(char *dst, size_t size, const char *fmt, ...) av_printf_format(3, 4);
|
||||
|
||||
/**
|
||||
* Print arguments following specified format into a large enough auto
|
||||
* allocated buffer. It is similar to GNU asprintf().
|
||||
* @param fmt printf-compatible format string, specifying how the
|
||||
* following parameters are used.
|
||||
* @return the allocated string
|
||||
* @note You have to free the string yourself with av_free().
|
||||
*/
|
||||
char *av_asprintf(const char *fmt, ...) av_printf_format(1, 2);
|
||||
|
||||
/**
|
||||
* Convert a number to a av_malloced string.
|
||||
*/
|
||||
|
@ -40,7 +40,7 @@
|
||||
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 51
|
||||
#define LIBAVUTIL_VERSION_MINOR 15
|
||||
#define LIBAVUTIL_VERSION_MINOR 16
|
||||
#define LIBAVUTIL_VERSION_MICRO 0
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user