diff options
author | Dario Lombardo <lomato@gmail.com> | 2016-06-28 10:42:55 +0200 |
---|---|---|
committer | Dario Lombardo <lomato@gmail.com> | 2016-06-28 09:13:35 +0000 |
commit | 94830dc145818ce4fcedcfee0ca4432df6d2f6eb (patch) | |
tree | d39f3c6ca9ab8783d3b857d062cf6c9ba7e73106 /epan/print.c | |
parent | 7fcdc759b4b681f33be9ab4e723fea32e31e14cc (diff) |
print: merge json and ek functions.
Change-Id: Ia5d75bab03bfc065651ea83c936aedffb1f69e9f
Reviewed-on: https://code.wireshark.org/review/16190
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Martin Kacer <kacer.martin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Diffstat (limited to 'epan/print.c')
-rw-r--r-- | epan/print.c | 60 |
1 files changed, 16 insertions, 44 deletions
diff --git a/epan/print.c b/epan/print.c index 6367ca5d1a..6dc3e8a6bd 100644 --- a/epan/print.c +++ b/epan/print.c @@ -1417,10 +1417,8 @@ print_escaped_xml(FILE *fh, const char *unescaped_string) } } -/* Print a string, escaping out certain characters that need to - * escaped out for JSON. */ static void -print_escaped_json(FILE *fh, const char *unescaped_string) +print_escaped_bare(FILE *fh, const char *unescaped_string, gboolean change_dot) { const char *p; char temp_str[8]; @@ -1451,6 +1449,12 @@ print_escaped_json(FILE *fh, const char *unescaped_string) case '\t': fputs("\\t", fh); break; + case '.': + if (change_dot) + fputs("_", fh); + else + fputs(".", fh); + break; default: if (g_ascii_isprint(*p)) fputc(*p, fh); @@ -1463,51 +1467,19 @@ print_escaped_json(FILE *fh, const char *unescaped_string) } /* Print a string, escaping out certain characters that need to + * escaped out for JSON. */ +static void +print_escaped_json(FILE *fh, const char *unescaped_string) +{ + print_escaped_bare(fh, unescaped_string, FALSE); +} + +/* Print a string, escaping out certain characters that need to * escaped out for Elasticsearch title. */ static void print_escaped_ek(FILE *fh, const char *unescaped_string) { - const char *p; - char temp_str[8]; - - for (p = unescaped_string; *p != '\0'; p++) { - switch (*p) { - case '"': - fputs("\\\"", fh); - break; - case '\\': - fputs("\\\\", fh); - break; - case '/': - fputs("\\/", fh); - break; - case '\b': - fputs("\\b", fh); - break; - case '\f': - fputs("\\f", fh); - break; - case '\n': - fputs("\\n", fh); - break; - case '\r': - fputs("\\r", fh); - break; - case '\t': - fputs("\\t", fh); - break; - case '.': - fputs("_", fh); - break; - default: - if (g_ascii_isprint(*p)) - fputc(*p, fh); - else { - g_snprintf(temp_str, sizeof(temp_str), "\\u00%u", (guint8)*p); - fputs(temp_str, fh); - } - } - } + print_escaped_bare(fh, unescaped_string, TRUE); } static void |