diff options
-rw-r--r-- | cmd-server-info.c | 5 | ||||
-rw-r--r-- | util.c | 20 |
2 files changed, 3 insertions, 22 deletions
diff --git a/cmd-server-info.c b/cmd-server-info.c index 94373f01..2ce44841 100644 --- a/cmd-server-info.c +++ b/cmd-server-info.c @@ -23,6 +23,7 @@ #include <string.h> #include <time.h> #include <unistd.h> +#include <vis.h> #include "tmux.h" @@ -156,8 +157,8 @@ cmd_server_info_exec(unused struct cmd *self, struct cmd_ctx *ctx) ent->code, ent->name); break; case TTYCODE_STRING: - clean_string( - code->value.string, out, sizeof out); + strnvis(out, code->value.string, sizeof out, + VIS_OCTAL|VIS_TAB|VIS_NL); ctx->print(ctx, "%2u: %s: (string) %s", ent->code, ent->name, out); break; @@ -50,23 +50,3 @@ section_string(char *buf, size_t len, size_t sectoff, size_t sectlen) (int) (last - first), buf + first, last == len ? "" : "..."); return (s); } - -/* Clean string of invisible characters. */ -void -clean_string(const char *in, char *buf, size_t len) -{ - const u_char *cp; - size_t off; - - off = 0; - for (cp = in; *cp != '\0'; cp++) { - if (off >= len) - break; - if (*cp >= 0x20 && *cp <= 0x7f) - buf[off++] = *cp; - else - off += xsnprintf(buf + off, len - off, "\\%03hho", *cp); - } - if (off < len) - buf[off] = '\0'; -} |