Now, what was that logic block doing up there?
authorMark Whitley <markw@lineo.com>
Fri, 3 Nov 2000 20:02:35 +0000 (20:02 -0000)
committerMark Whitley <markw@lineo.com>
Fri, 3 Nov 2000 20:02:35 +0000 (20:02 -0000)
editors/sed.c
sed.c

index eaca9ada59212affcf5791c472892e914f5bae34..bc0e961872579447eea343c4d23f525d044ea13a 100644 (file)
@@ -537,12 +537,6 @@ static int do_subst_command(const struct sed_cmd *sed_cmd, const char *line)
        int altered = 0;
        regmatch_t *regmatch = NULL;
 
-       /* if the user specified that they didn't want anything printed (i.e. a -n
-        * flag and no 'p' flag after the s///), then there's really no point doing
-        * anything here. */
-       if (be_quiet && !sed_cmd->sub_p)
-               return 0;
-
        /* we only proceed if the substitution 'search' expression matches */
        if (regexec(sed_cmd->sub_match, line, 0, NULL, 0) == REG_NOMATCH)
                return 0;
@@ -615,6 +609,12 @@ static int do_sed_command(const struct sed_cmd *sed_cmd, const char *line)
                         *    flag exists in the first place.
                         */
 
+                       /* if the user specified that they didn't want anything printed (i.e. a -n
+                        * flag and no 'p' flag after the s///), then there's really no point doing
+                        * anything here. */
+                       if (be_quiet && !sed_cmd->sub_p)
+                               break;
+
                        /* we print the line once, unless we were told to be quiet */
                        if (!be_quiet)
                                altered = do_subst_command(sed_cmd, line);
diff --git a/sed.c b/sed.c
index eaca9ada59212affcf5791c472892e914f5bae34..bc0e961872579447eea343c4d23f525d044ea13a 100644 (file)
--- a/sed.c
+++ b/sed.c
@@ -537,12 +537,6 @@ static int do_subst_command(const struct sed_cmd *sed_cmd, const char *line)
        int altered = 0;
        regmatch_t *regmatch = NULL;
 
-       /* if the user specified that they didn't want anything printed (i.e. a -n
-        * flag and no 'p' flag after the s///), then there's really no point doing
-        * anything here. */
-       if (be_quiet && !sed_cmd->sub_p)
-               return 0;
-
        /* we only proceed if the substitution 'search' expression matches */
        if (regexec(sed_cmd->sub_match, line, 0, NULL, 0) == REG_NOMATCH)
                return 0;
@@ -615,6 +609,12 @@ static int do_sed_command(const struct sed_cmd *sed_cmd, const char *line)
                         *    flag exists in the first place.
                         */
 
+                       /* if the user specified that they didn't want anything printed (i.e. a -n
+                        * flag and no 'p' flag after the s///), then there's really no point doing
+                        * anything here. */
+                       if (be_quiet && !sed_cmd->sub_p)
+                               break;
+
                        /* we print the line once, unless we were told to be quiet */
                        if (!be_quiet)
                                altered = do_subst_command(sed_cmd, line);