---
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.4
Received 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