From 0a65e190f4dafd5850fb3e86df30e88b198bab1e Mon Sep 17 00:00:00 2001
From: Glenn L McGrath <bug1@ihug.co.nz>
Date: Mon, 23 Dec 2002 10:16:12 +0000
Subject: Support the '=' command

---
 editors/sed.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

(limited to 'editors')

diff --git a/editors/sed.c b/editors/sed.c
index df623465f..4ab721982 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -431,7 +431,7 @@ static char *parse_cmd_str(struct sed_cmd * const sed_cmd, const char *const cmd
 
 	/* if it was a single-letter command that takes no arguments (such as 'p'
 	 * or 'd') all we need to do is increment the index past that command */
-	if (strchr("pd", sed_cmd->cmd)) {
+	if (strchr("pd=", sed_cmd->cmd)) {
 		idx++;
 	}
 	/* handle (s)ubstitution command */
@@ -451,7 +451,7 @@ static char *parse_cmd_str(struct sed_cmd * const sed_cmd, const char *const cmd
 		idx += parse_file_cmd(sed_cmd, &cmdstr[idx]);
 	}
 	else {
-		error_msg_and_die("invalid command");
+		error_msg_and_die("Unsupported command %c", sed_cmd->cmd);
 	}
 
 	/* give back whatever's left over */
@@ -685,7 +685,9 @@ static void process_file(FILE *file)
 				 * actual sedding
 				 */
 				switch (sed_cmd->cmd) {
-
+					case '=':
+						printf("%d\n", linenum);
+						break;
 					case 'p':
 						puts(line);
 						break;
-- 
cgit v1.2.3