commit 890f6c2c050149e63efe5b385b104c8383342973
Author: Roberto E. Vargas Caballero <[email protected]>
AuthorDate: Mon Nov 27 09:21:45 2023 +0100
Commit: k0ga <Roberto E. Vargas Caballero [email protected]>
CommitDate: Thu Dec 28 17:02:44 2023 +0100
ed: Improve execsh
diff --git a/ed.c b/ed.c
index a5eea16..a8bc7d5 100644
--- a/ed.c
+++ b/ed.c
@@ -1067,13 +1067,21 @@ execsh(void)
}
while ((c = input()) != '\0') {
- if (c == '%' && (cmd.siz == 0 || cmd.str[cmd.siz - 1] != '\\'))
{
+ switch (c) {
+ case '%':
if (savfname[0] == '\0')
error("no current filename");
repl = 1;
for (p = savfname; *p; ++p)
addchar(*p, &cmd);
- } else {
+ break;
+ case '\\':
+ c = input();
+ if (c != '%') {
+ back(c);
+ c = '\\';
+ }
+ default:
addchar(c, &cmd);
}
}