--- ed.c | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/ed.c b/ed.c index 3f878eb..e773100 100644 --- a/ed.c +++ b/ed.c _AT_@ -13,6 +13,8 @@ #include <stdlib.h> #include <string.h> +#include "arg.h" + #define REGEXSIZE 100 #define LINESIZE 80 #define NUMLINES 32 _AT_@ -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); -- 2.6.4Received on Tue Dec 15 2015 - 15:45:16 CET
This archive was generated by hypermail 2.3.0 : Tue Dec 15 2015 - 15:49:03 CET