From b26b6b3fe00b94a2d4370b1afd2644034947b6b8 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 7 Jun 2022 10:02:14 +0100 Subject: Tweaks to MULTI_FUNC_DEF Output multiple function definitions using "function" form. Note exceptions to errors with NO_MULTI_FUNC_DEF --- Src/text.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'Src/text.c') diff --git a/Src/text.c b/Src/text.c index 5cd7685fd..56127c457 100644 --- a/Src/text.c +++ b/Src/text.c @@ -578,11 +578,16 @@ gettext2(Estate state) Wordcode end = p + WC_FUNCDEF_SKIP(code); int nargs = *state->pc++; + if (nargs > 1) + taddstr("function "); taddlist(state, nargs); if (nargs) taddstr(" "); if (tjob) { - taddstr("() { ... }"); + if (nargs > 1) + taddstr("{ ... }"); + else + taddstr("() { ... }"); state->pc = end; if (!nargs) { /* @@ -594,7 +599,10 @@ gettext2(Estate state) } stack = 1; } else { - taddstr("() {"); + if (nargs > 1) + taddstr("{"); + else + taddstr("() {"); tindent++; taddnl(1); n = tpush(code, 1); -- cgit v1.2.3 From 858b8de3d70fe76a3637c281bc2c8e3a6d961a2c Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Sat, 22 Apr 2023 14:40:23 -0700 Subject: 51670: prevent possible underflow in gettext() --- ChangeLog | 4 ++++ Src/text.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'Src/text.c') diff --git a/ChangeLog b/ChangeLog index 01167b0c3..92a95ffaa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2023-04-22 Bart Schaefer + + * 51670: Src/text.c: prevent possible underflow in gettext() + 2023-04-18 Jun-ichi Takimoto * 51663: Completion/Unix/Command/_ssh: fix a typo in 51582 diff --git a/Src/text.c b/Src/text.c index 56127c457..8b1bd96b6 100644 --- a/Src/text.c +++ b/Src/text.c @@ -335,7 +335,7 @@ getjobtext(Eprog prog, Wordcode c) tlim = tptr + JOBTEXTSIZE - 1; tjob = 1; gettext2(&s); - if (tptr[-1] == Meta) + if (tptr > jbuf && tptr[-1] == Meta) --tptr; *tptr = '\0'; freeeprog(prog); /* mark as unused */ -- cgit v1.2.3