mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Use vis(3) instead of handrolled function.
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: cmd-server-info.c,v 1.17 2009-05-04 17:58:26 nicm Exp $ */
 | 
			
		||||
/* $OpenBSD: cmd-server-info.c,v 1.2 2009/06/03 19:37:27 nicm Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -23,6 +23,7 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <vis.h>
 | 
			
		||||
 | 
			
		||||
#include "tmux.h"
 | 
			
		||||
 | 
			
		||||
@@ -157,8 +158,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;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								util.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								util.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: util.c,v 1.5 2009-04-30 16:24:20 nicm Exp $ */
 | 
			
		||||
/* $OpenBSD: util.c,v 1.2 2009/06/03 19:37:27 nicm Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -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';
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user