From 6135cad495e562b0d3108942ca8de2b285699e0e Mon Sep 17 00:00:00 2001 From: "Roberto E. Vargas Caballero" Date: Wed, 16 Dec 2015 21:21:55 +0100 Subject: [PATCH] Move edit logic to an individual function It is better to separate this logic from the parameter logic in main(). --- ed.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/ed.c b/ed.c index 3d90d4d..a3de436 100644 --- a/ed.c +++ b/ed.c @@ -1343,6 +1343,22 @@ sighup(int dummy) quit(); } +static void +edit(void) +{ + setjmp(savesp); + for (;;) { + newcmd = 1; + ocurln = curln; + cmdsiz = 0; + repidx = -1; + if (optprompt) + fputs(prompt, stdout); + getlst(); + chkglobal() ? doglobal() : docmd(); + } +} + int main(int argc, char *argv[]) { @@ -1373,16 +1389,7 @@ main(int argc, char *argv[]) } } - for (;;) { - newcmd = 1; - ocurln = curln; - cmdsiz = 0; - repidx = -1; - if (optprompt) - fputs(prompt, stdout); - getlst(); - chkglobal() ? doglobal() : docmd(); - } + edit(); /* not reached */ return 0;