[hackers] [sbase] ed: use arg.h

From: Quentin Rameau <quinq_AT_fifth.space>
Date: Tue, 15 Dec 2015 15:45:16 +0100

---
 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