summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmd-server-info.c5
-rw-r--r--util.c20
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;
diff --git a/util.c b/util.c
index 1455214a..5c871ca1 100644
--- a/util.c
+++ b/util.c
@@ -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';
-}