commit d1bef890ea45a8aa492d0a1914c02110f982da28
parent c5b36e17600920ac1a5d519620be5b38f8f9ed39
Author: Quentin Rameau <quinq@fifth.space>
Date: Tue, 15 Dec 2015 15:45:16 +0100
ed: use arg.h
Diffstat:
M | ed.c | | | 35 | +++++++++++++++-------------------- |
1 file changed, 15 insertions(+), 20 deletions(-)
diff --git a/ed.c b/ed.c
@@ -13,6 +13,8 @@
#include <stdlib.h>
#include <string.h>
+#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);