about summary refs log tree commit diff
path: root/safe_u8putstr.c
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2021-03-15 21:35:16 +0100
committerLeah Neukirchen <leah@vuxu.org>2021-03-15 21:35:16 +0100
commite8981b723d35c530ef217140c965287ecd0e9031 (patch)
tree5f71d317fecc20023e8957876e7e7d50cd641368 /safe_u8putstr.c
parent709f8f1121418b2ca749229de25f65714d682d54 (diff)
downloadmblaze-e8981b723d35c530ef217140c965287ecd0e9031.tar.gz
mblaze-e8981b723d35c530ef217140c965287ecd0e9031.tar.xz
mblaze-e8981b723d35c530ef217140c965287ecd0e9031.zip
safe_u8putstr: add oneline mode that prints CR/LF as C0 sequences
Diffstat (limited to 'safe_u8putstr.c')
-rw-r--r--safe_u8putstr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/safe_u8putstr.c b/safe_u8putstr.c
index 6696545..b7b4026 100644
--- a/safe_u8putstr.c
+++ b/safe_u8putstr.c
@@ -4,7 +4,7 @@
 #include "u8decode.h"
 
 void
-safe_u8putstr(char *s0, size_t l, FILE *stream)
+safe_u8putstr(char *s0, size_t l, int oneline, FILE *stream)
 {
 	// tty-safe output of s, with relaxed utf-8 semantics:
 	// - C0 and C1 are displayed as escape sequences
@@ -35,7 +35,8 @@ safe_u8putstr(char *s0, size_t l, FILE *stream)
 				fputc(0x80 | (*s & 0x3f), stream);
 			}
 		} else if (c < 32 &&
-		    *s != ' ' && *s != '\t' && *s != '\n' && *s != '\r') {
+		    *s != ' ' && *s != '\t' &&
+		    (oneline || (*s != '\n' && *s != '\r'))) {
 			// NUL
 			if (l == 0)
 				l = 1;