From 262e553d94c4124bdb53784e73dd314e3e44f3b8 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 13 Apr 2022 19:49:33 -0700 Subject: Some egawk support: use @let in case if available. --- cppawk-include/case-priv.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'cppawk-include/case-priv.h') diff --git a/cppawk-include/case-priv.h b/cppawk-include/case-priv.h index 6421877..3676e2b 100644 --- a/cppawk-include/case-priv.h +++ b/cppawk-include/case-priv.h @@ -64,8 +64,14 @@ #define __mtch_next(p, \ x) p || (__val ~ (x)) +#if !__have_let #define __case_temps __val, __once, __pass -#define __case(expr) for ((__once = 1) && (__pass = 0) || (__val = expr); \ +#else +#define __case_temps __ign +#endif + +#define __case(expr) __let (__val, __once, __pass) \ + for ((__once = 1) && (__pass = 0) || (__val = expr); \ __once; \ __once = 0) #define __of(...) __clause(__varexpand(__of_first, __of_next, \ -- cgit v1.2.3