Message ID | 20230329073002.2026563-1-chantr4@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | d8d8b008629ffd69f1e204010cb3299bb633877e |
Delegated to: | BPF |
Headers | show |
Series | tools: bpftool: json: fix backslash escape typo in jsonw_puts | expand |
2023-03-29 00:30 UTC-0700 ~ Manu Bretelle <chantr4@gmail.com> > This is essentially a backport of iproute2's > commit ed54f76484b5 ("json: fix backslash escape typo in jsonw_puts") > > Also added the stdio.h include in json_writer.h to be able to compile > and run the json_writer test as used below). > > Before this fix: > > $ gcc -D notused -D TEST -I../../include -o json_writer json_writer.c > json_writer.h > $ ./json_writer > { > "Vyatta": { > "url": "http://vyatta.com", > "downloads": 2000000, > "stock": 8.16, > "ARGV": [], > "empty": [], > "NIL": {}, > "my_null": null, > "special chars": [ > "slash": "/", > "newline": "\n", > "tab": "\t", > "ff": "\f", > "quote": "\"", > "tick": "'", > "backslash": "\n" > ] > } > } > > After: > > $ gcc -D notused -D TEST -I../../include -o json_writer json_writer.c > json_writer.h > $ ./json_writer > { > "Vyatta": { > "url": "http://vyatta.com", > "downloads": 2000000, > "stock": 8.16, > "ARGV": [], > "empty": [], > "NIL": {}, > "my_null": null, > "special chars": [ > "slash": "/", > "newline": "\n", > "tab": "\t", > "ff": "\f", > "quote": "\"", > "tick": "'", > "backslash": "\\" > ] > } > } > > Signed-off-by: Manu Bretelle <chantr4@gmail.com> Reviewed-by: Quentin Monnet <quentin@isovalent.com> Thank you!
Hello: This patch was applied to bpf/bpf-next.git (master) by Andrii Nakryiko <andrii@kernel.org>: On Wed, 29 Mar 2023 00:30:02 -0700 you wrote: > This is essentially a backport of iproute2's > commit ed54f76484b5 ("json: fix backslash escape typo in jsonw_puts") > > Also added the stdio.h include in json_writer.h to be able to compile > and run the json_writer test as used below). > > Before this fix: > > [...] Here is the summary with links: - tools: bpftool: json: fix backslash escape typo in jsonw_puts https://git.kernel.org/bpf/bpf-next/c/d8d8b008629f You are awesome, thank you!
diff --git a/tools/bpf/bpftool/json_writer.c b/tools/bpf/bpftool/json_writer.c index bca5dd0a59e3..be379613d118 100644 --- a/tools/bpf/bpftool/json_writer.c +++ b/tools/bpf/bpftool/json_writer.c @@ -75,7 +75,7 @@ static void jsonw_puts(json_writer_t *self, const char *str) fputs("\\b", self->out); break; case '\\': - fputs("\\n", self->out); + fputs("\\\\", self->out); break; case '"': fputs("\\\"", self->out); diff --git a/tools/bpf/bpftool/json_writer.h b/tools/bpf/bpftool/json_writer.h index 8ace65cdb92f..5aaffd3b837b 100644 --- a/tools/bpf/bpftool/json_writer.h +++ b/tools/bpf/bpftool/json_writer.h @@ -14,6 +14,7 @@ #include <stdbool.h> #include <stdint.h> #include <stdarg.h> +#include <stdio.h> #include <linux/compiler.h> /* Opaque class structure */
This is essentially a backport of iproute2's commit ed54f76484b5 ("json: fix backslash escape typo in jsonw_puts") Also added the stdio.h include in json_writer.h to be able to compile and run the json_writer test as used below). Before this fix: $ gcc -D notused -D TEST -I../../include -o json_writer json_writer.c json_writer.h $ ./json_writer { "Vyatta": { "url": "http://vyatta.com", "downloads": 2000000, "stock": 8.16, "ARGV": [], "empty": [], "NIL": {}, "my_null": null, "special chars": [ "slash": "/", "newline": "\n", "tab": "\t", "ff": "\f", "quote": "\"", "tick": "'", "backslash": "\n" ] } } After: $ gcc -D notused -D TEST -I../../include -o json_writer json_writer.c json_writer.h $ ./json_writer { "Vyatta": { "url": "http://vyatta.com", "downloads": 2000000, "stock": 8.16, "ARGV": [], "empty": [], "NIL": {}, "my_null": null, "special chars": [ "slash": "/", "newline": "\n", "tab": "\t", "ff": "\f", "quote": "\"", "tick": "'", "backslash": "\\" ] } } Signed-off-by: Manu Bretelle <chantr4@gmail.com> --- tools/bpf/bpftool/json_writer.c | 2 +- tools/bpf/bpftool/json_writer.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)