[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#200857: Please don't trample expected escape sequence behaviour [patch]



I think it might be better to do something like this [see patch]:
The iscntrl() test can be replaced easily if more/less paranoia is
required - it's not really fair to expect apps to figure out the
escape sequence is just gone, as afaict there's no way to ask if
a term supports many of them other than checking TERM and going by
what you know/expect that terminal to support.

--- charproc.orig.c	Mon Jan  7 21:02:44 2002
+++ charproc.c		Sat Jul 12 13:12:45 2003
@@ -3591,8 +3591,15 @@
 			int n, c;
 			for (n = 0; n < length; n++) {
 				char *s = list[n];
-				while ((c = *s++) != '\0')
-					unparseputc(c, screen->respond);
+				while ((c = *s++) != '\0') {
+					if( iscntrl(c) ) {
+						char e[4];
+						snprintf( e, 4, "%%%02x", c );
+						e[3] = 0;
+						unparseputs(e,screen->respond);
+					} else
+						unparseputc(c,screen->respond);
+				}
 			}
 			XFreeStringList(list);
 		}

Reply to: