From 799994c0b3fe371b5f438d2114f6d87f67f3c353 Mon Sep 17 00:00:00 2001 From: Renge Date: Fri, 18 Feb 2022 23:17:31 -0500 Subject: [PATCH] fix: print in hex format for non-ascii unicode --- hw1/src/argo.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hw1/src/argo.c b/hw1/src/argo.c index 412c9b3..128c09d 100644 --- a/hw1/src/argo.c +++ b/hw1/src/argo.c @@ -904,7 +904,17 @@ int argo_write_string(ARGO_STRING *s, FILE *f) } else { - fprintf(f, "%c", *c); + if (c <= 0xff) + { + fprintf(f, "%c", *c); + } + else if (c <= 0xfff) + { + fprintf(f, "\\u0%x", c); + } + else { + fprintf(f, "\\u%x", c); + } } break; }