From d1bef890ea45a8aa492d0a1914c02110f982da28 Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Tue, 15 Dec 2015 15:45:16 +0100 Subject: [PATCH] ed: use arg.h --- ed.c | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/ed.c b/ed.c index 032bc78..bde2c55 100644 --- a/ed.c +++ b/ed.c @@ -13,6 +13,8 @@ #include #include +#include "arg.h" + #define REGEXSIZE 100 #define LINESIZE 80 #define NUMLINES 32 @@ -1332,27 +1334,20 @@ sighup(int dummy) int main(int argc, char *argv[]) { - char *p; + ARGBEGIN { + case 'p': + prompt = EARGF(usage()); + optprompt = 1; + break; + case 's': + optdiag = 0; + break; + default: + usage(); + } ARGEND - while (*++argv) { - if (argv[0][0] != '-') - break; - for (p = argv[0] + 1; *p; ++p) { - switch (*p) { - case 's': - optdiag = 0; - break; - case 'p': - if (!*++argv) - usage(); - prompt = *argv; - optprompt = 1; - break; - default: - usage(); - } - } - } + if (argc > 1) + usage(); signal(SIGINT, sigintr); signal(SIGHUP, sighup);