From 5346422665ff4f88a0832427e7685034a3c08964 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 31 Aug 2004 17:45:45 +0000 Subject: [PATCH] (xdprval): Fix for strings with characters printed as escapes. Print null pointer as `nil' to distinguish it from empty string. --- src/lib/commands/xdump.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/lib/commands/xdump.c b/src/lib/commands/xdump.c index a29e0d50e..f6340db42 100644 --- a/src/lib/commands/xdump.c +++ b/src/lib/commands/xdump.c @@ -303,17 +303,19 @@ xdprval(struct valstr *val, char *sep) pr("%s%g", sep, val->val_as.dbl); break; case NSC_STRING: - pr("%s\"", sep); s = val->val_as.str; - while (s && *s) { - for (e = s; *e != '"' && isprint(*e); ++e) ; - pr("%*s", (int)(e-s), s); - for (; *e && !isprint(*e); ++e) { - pr("\\%3o", *e); + if (s) { + pr("%s\"", sep); + while (*s) { + for (e = s; *e != '"' && isprint(*e); ++e) ; + pr("%.*s", (int)(e-s), s); + if (*e) + pr("\\%03o", *e++); + s = e; } - s = e; - } - prnf("\""); + prnf("\""); + } else + pr("%snil", sep); break; default: CANT_HAPPEN("Bad VAL type"); -- 2.43.0