Use vis(3) instead of handrolled function.

pull/1/head
Nicholas Marriott 2009-06-03 19:37:27 +00:00
parent 2faec76afa
commit 3f16fcb30a
2 changed files with 3 additions and 22 deletions

View File

@ -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;

20
util.c
View File

@ -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';
}