You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
ffprobe: move up ESCAPE_CHECK_SIZE and ESCAPE_REALLOC_BUF macros
So they can be used by other escaping routines.
This commit is contained in:
50
ffprobe.c
50
ffprobe.c
@@ -335,6 +335,31 @@ fail:
|
|||||||
return NULL;
|
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 */
|
/* WRITERS */
|
||||||
|
|
||||||
/* Default output */
|
/* Default output */
|
||||||
@@ -414,8 +439,6 @@ typedef struct {
|
|||||||
size_t buf_size;
|
size_t buf_size;
|
||||||
} JSONContext;
|
} JSONContext;
|
||||||
|
|
||||||
#define ESCAPE_INIT_BUF_SIZE 256
|
|
||||||
|
|
||||||
static av_cold int json_init(WriterContext *wctx, const char *args, void *opaque)
|
static av_cold int json_init(WriterContext *wctx, const char *args, void *opaque)
|
||||||
{
|
{
|
||||||
JSONContext *json = wctx->priv;
|
JSONContext *json = wctx->priv;
|
||||||
@@ -433,29 +456,6 @@ static av_cold void json_uninit(WriterContext *wctx)
|
|||||||
av_freep(&json->buf);
|
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,
|
static const char *json_escape_str(char **dst, size_t *dst_size, const char *src,
|
||||||
void *log_ctx)
|
void *log_ctx)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user