From 2b1e5a3d22ed4b66af3926e2034e2e8f16acc830 Mon Sep 17 00:00:00 2001
From: Peter Stephenson
Date: Sun, 22 Mar 2020 18:45:02 +0000
Subject: 45563: %z can be used for zlong in warnings and errors
---
ChangeLog | 4 ++++
Src/utils.c | 9 +++++++++
2 files changed, 13 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index f1dadc9d0..af51fc5a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2020-03-22 Peter Stephenson
+
+ * 45563: Src/utils.c: %z supplies zlong for errors and warnings.
+
2020-03-22 Daniel Shahaf
* 45583/0009: README, Src/parse.c, Test/E02xtrace.ztst: Add
diff --git a/Src/utils.c b/Src/utils.c
index 339404489..4d16de591 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -130,6 +130,7 @@ set_widearray(char *mb_array, Widechar_array wca)
%l const char *, int C string of given length (null not required)
%L long decimal value
%d int decimal value
+ %z zlong decimal value
%% (none) literal '%'
%c int character at that codepoint
%e int strerror() message (argument is typically 'errno')
@@ -331,6 +332,14 @@ zerrmsg(FILE *file, const char *fmt, va_list ap)
num = va_arg(ap, int);
fprintf(file, "%d", num);
break;
+ case 'z':
+ {
+ zlong znum = va_arg(ap, zlong);
+ char buf[DIGBUFSIZE];
+ convbase(buf, znum, 10);
+ fputs(buf, file);
+ break;
+ }
case '%':
putc('%', file);
break;
--
cgit 1.4.1