From e31a1492391aa4d678a400d3a7024f93b4dec47e Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Mon, 27 Oct 2014 13:31:04 +0000 Subject: Fix a regression in term.c rev. 1.229 reported by bentley@: In UTF-8 output, do not print anything if mchars_spec2cp() returns 0. In particular, this repairs handling of zero-width spaces (\&). While here, let mchars_spec2cp() return 0xFFFD instead of -1 if the character is not found, simplifying the using code. In HTML output, do not print obfuscated ASCII characters and do not test for one-char escapes, mchars_spec2cp() already does that. --- chars.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'chars.c') diff --git a/chars.c b/chars.c index 31d75a6e..8c99d0a0 100644 --- a/chars.c +++ b/chars.c @@ -1,4 +1,4 @@ -/* $Id: chars.c,v 1.61 2014/10/26 18:07:28 schwarze Exp $ */ +/* $Id: chars.c,v 1.62 2014/10/27 13:31:04 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2011, 2014 Ingo Schwarze @@ -104,7 +104,7 @@ mchars_spec2cp(const struct mchars *arg, const char *p, size_t sz) const struct ln *ln; ln = find(arg, p, sz); - return(ln != NULL ? ln->unicode : sz == 1 ? *p : -1); + return(ln != NULL ? ln->unicode : sz == 1 ? *p : 0xFFFD); } char -- cgit v1.2.3-56-ge451