diff options
author | Lukasz Marek <lukasz.m.luki@gmail.com> | 2013-08-23 23:21:50 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-08-30 22:36:38 +0200 |
commit | 0b46d6f3efa7c647a42d3e77d09c274f611b752b (patch) | |
tree | e97f15bf84f810d8e79777d8ce81b9e6268e0aca /libavutil | |
parent | 6e1b1a27a4034c578018d5042b3c8228278c4cd6 (diff) | |
download | ffmpeg-0b46d6f3efa7c647a42d3e77d09c274f611b752b.tar.gz |
lavu/bprint: add append buffer function
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Reveiwed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil')
-rw-r--r-- | libavutil/bprint.c | 18 | ||||
-rw-r--r-- | libavutil/bprint.h | 9 | ||||
-rw-r--r-- | libavutil/version.h | 2 |
3 files changed, 28 insertions, 1 deletions
diff --git a/libavutil/bprint.c b/libavutil/bprint.c index cd91bc4a72..7786e3bce7 100644 --- a/libavutil/bprint.c +++ b/libavutil/bprint.c @@ -155,6 +155,24 @@ void av_bprint_chars(AVBPrint *buf, char c, unsigned n) av_bprint_grow(buf, n); } +void av_bprint_append_data(AVBPrint *buf, const char *data, unsigned size) +{ + unsigned room, real_n; + + while (1) { + room = av_bprint_room(buf); + if (size < room) + break; + if (av_bprint_alloc(buf, size)) + break; + } + if (room) { + real_n = FFMIN(size, room - 1); + memcpy(buf->str + buf->len, data, real_n); + } + av_bprint_grow(buf, size); +} + void av_bprint_strftime(AVBPrint *buf, const char *fmt, const struct tm *tm) { unsigned room; diff --git a/libavutil/bprint.h b/libavutil/bprint.h index bb1de25c4a..839ec1ec0d 100644 --- a/libavutil/bprint.h +++ b/libavutil/bprint.h @@ -133,6 +133,15 @@ void av_vbprintf(AVBPrint *buf, const char *fmt, va_list vl_arg); */ void av_bprint_chars(AVBPrint *buf, char c, unsigned n); +/** + * Append data to a print buffer. + * + * param buf bprint buffer to use + * param data pointer to data + * param size size of data + */ +void av_bprint_append_data(AVBPrint *buf, const char *data, unsigned size); + struct tm; /** * Append a formatted date and time to a print buffer. diff --git a/libavutil/version.h b/libavutil/version.h index e522b79d4a..7aec9c0899 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -75,7 +75,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 52 -#define LIBAVUTIL_VERSION_MINOR 42 +#define LIBAVUTIL_VERSION_MINOR 43 #define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ |