From c365cdf2028aaefd92f44b0924596f35d165ebda Mon Sep 17 00:00:00 2001
From: Stefano Sabatini <stefasab@gmail.com>
Date: Sat, 26 May 2012 20:58:13 +0200
Subject: [PATCH] ffprobe: add support to '\b' and '\f' escaping in
 c_escape_str()

---
 doc/ffprobe.texi | 6 +++---
 ffprobe.c        | 2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/doc/ffprobe.texi b/doc/ffprobe.texi
index ed96575ed31..cde1d342111 100644
--- a/doc/ffprobe.texi
+++ b/doc/ffprobe.texi
@@ -245,9 +245,9 @@ Set the escape mode to use, default to "c".
 It can assume one of the following values:
 @table @option
 @item c
-Perform C-like escaping. Strings containing a newline ('\n') or
-carriage return ('\r'), the escaping character ('\') or the item
-separator character @var{SEP} are escaped using C-like fashioned
+Perform C-like escaping. Strings containing a newline ('\n'), carriage
+return ('\r'), a tab ('\t'), a form feed ('\f'), the escaping
+character ('\') or the item separator character @var{SEP} are escaped using C-like fashioned
 escaping, so that a newline is converted to the sequence "\n", a
 carriage return to "\r", '\' to "\\" and the separator @var{SEP} is
 converted to "\@var{SEP}".
diff --git a/ffprobe.c b/ffprobe.c
index 12b5c374fff..15e761ebab8 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -505,6 +505,8 @@ static const char *c_escape_str(AVBPrint *dst, const char *src, const char sep,
 
     for (p = src; *p; p++) {
         switch (*src) {
+        case '\b': av_bprintf(dst, "%s", "\\b");  break;
+        case '\f': av_bprintf(dst, "%s", "\\f");  break;
         case '\n': av_bprintf(dst, "%s", "\\n");  break;
         case '\r': av_bprintf(dst, "%s", "\\r");  break;
         case '\\': av_bprintf(dst, "%s", "\\\\"); break;
-- 
GitLab