diff options
author | Stefano Sabatini <stefasab@gmail.com> | 2011-10-14 16:50:30 +0200 |
---|---|---|
committer | Stefano Sabatini <stefasab@gmail.com> | 2011-10-18 18:21:03 +0200 |
commit | 88bdf7471f6b8df5106f84b4b4d4cffe4606bcb0 (patch) | |
tree | 2856c6d3cab431f2e8744fc33e46f32e35910148 | |
parent | 2f3b028c7117e03267ea7f88d0d612e70f1afc06 (diff) | |
download | ffmpeg-88bdf7471f6b8df5106f84b4b4d4cffe4606bcb0.tar.gz |
ffprobe: move up ESCAPE_CHECK_SIZE and ESCAPE_REALLOC_BUF macros
So they can be used by other escaping routines.
-rw-r--r-- | ffprobe.c | 50 |
1 files changed, 25 insertions, 25 deletions
@@ -335,6 +335,31 @@ fail: return NULL; } +#define ESCAPE_INIT_BUF_SIZE 256 + +#define ESCAPE_CHECK_SIZE(src, size, max_size) \ + if (size > max_size) { \ + char buf[64]; \ + snprintf(buf, sizeof(buf), "%s", src); \ + av_log(log_ctx, AV_LOG_WARNING, \ + "String '%s...' with is too big\n", buf); \ + return "FFPROBE_TOO_BIG_STRING"; \ + } + +#define ESCAPE_REALLOC_BUF(dst_size_p, dst_p, src, size) \ + if (*dst_size_p < size) { \ + char *q = av_realloc(*dst_p, size); \ + if (!q) { \ + char buf[64]; \ + snprintf(buf, sizeof(buf), "%s", src); \ + av_log(log_ctx, AV_LOG_WARNING, \ + "String '%s...' could not be escaped\n", buf); \ + return "FFPROBE_THIS_STRING_COULD_NOT_BE_ESCAPED"; \ + } \ + *dst_size_p = size; \ + *dst = q; \ + } + /* WRITERS */ /* Default output */ @@ -414,8 +439,6 @@ typedef struct { size_t buf_size; } JSONContext; -#define ESCAPE_INIT_BUF_SIZE 256 - static av_cold int json_init(WriterContext *wctx, const char *args, void *opaque) { JSONContext *json = wctx->priv; @@ -433,29 +456,6 @@ static av_cold void json_uninit(WriterContext *wctx) av_freep(&json->buf); } -#define ESCAPE_CHECK_SIZE(src, size, max_size) \ - if (size > max_size) { \ - char buf[64]; \ - snprintf(buf, sizeof(buf), "%s", src); \ - av_log(log_ctx, AV_LOG_WARNING, \ - "String '%s...' with is too big\n", buf); \ - return "FFPROBE_TOO_BIG_STRING"; \ - } - -#define ESCAPE_REALLOC_BUF(dst_size_p, dst_p, src, size) \ - if (*dst_size_p < size) { \ - char *q = av_realloc(*dst_p, size); \ - if (!q) { \ - char buf[64]; \ - snprintf(buf, sizeof(buf), "%s", src); \ - av_log(log_ctx, AV_LOG_WARNING, \ - "String '%s...' could not be escaped\n", buf); \ - return "FFPROBE_THIS_STRING_COULD_NOT_BE_ESCAPED"; \ - } \ - *dst_size_p = size; \ - *dst = q; \ - } - static const char *json_escape_str(char **dst, size_t *dst_size, const char *src, void *log_ctx) { |