Rename "line" to pattern_space to be more descriptive and closer to the POSIX description
authorGlenn L McGrath <bug1@ihug.co.nz>
Mon, 7 Apr 2003 12:24:44 +0000 (12:24 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Mon, 7 Apr 2003 12:24:44 +0000 (12:24 -0000)
editors/sed.c

index c039249178838a55324838cd7b88a71af370ccab..834f06638fb253a232003752d725390aec0c231e 100644 (file)
@@ -773,14 +773,14 @@ static sed_cmd_t *branch_to(const char *label)
 
 static void process_file(FILE *file)
 {
-       char *line;
+       char *pattern_space;    /* Posix requires it be able to hold at least 8192 bytes */
        static int linenum = 0; /* GNU sed does not restart counting lines at EOF */
        unsigned int still_in_range = 0;
        int altered;
        int force_print;
 
-       line = bb_get_chomped_line_from_file(file);
-       if (line == NULL) {
+       pattern_space = bb_get_chomped_line_from_file(file);
+       if (pattern_space == NULL) {
                return;
        }
 
@@ -812,7 +812,7 @@ static void process_file(FILE *file)
                                        /* this line number is the first address we're looking for */
                                        (sed_cmd->beg_line && (sed_cmd->beg_line == linenum)) ||
                                        /* this line matches our first address regex */
-                                       (sed_cmd->beg_match && (regexec(sed_cmd->beg_match, line, 0, NULL, 0) == 0)) ||
+                                       (sed_cmd->beg_match && (regexec(sed_cmd->beg_match, pattern_space, 0, NULL, 0) == 0)) ||
                                        /* we are currently within the beginning & ending address range */
                                        still_in_range || ((sed_cmd->beg_line == -1) && (next_line == NULL))
                           );
@@ -827,13 +827,13 @@ static void process_file(FILE *file)
                                                printf("%d\n", linenum);
                                                break;
                                        case 'P': {     /* Write the current pattern space upto the first newline */
-                                                       char *tmp = strchr(line, '\n');
+                                                       char *tmp = strchr(pattern_space, '\n');
                                                        if (tmp) {
                                                                *tmp = '\0';
                                                        }
                                                }
                                        case 'p':       /* Write the current pattern space to output */
-                                               puts(line);
+                                               puts(pattern_space);
                                                break;
                                        case 'd':
                                                altered++;
@@ -850,8 +850,8 @@ static void process_file(FILE *file)
                                                 *    substitution
                                                 *
                                                 *    s///p ONLY = always print successful substitutions, even if
-                                                *    the line is going to be printed anyway (line will be printed
-                                                *    twice).
+                                                *    the pattern_space is going to be printed anyway (pattern_space
+                                                *    will be printed twice).
                                                 *
                                                 *    -n AND s///p = print ONLY a successful substitution ONE TIME;
                                                 *    no other lines are printed - this is the reason why the 'p'
@@ -862,24 +862,24 @@ static void process_file(FILE *file)
                                                /* HACK: escape newlines twice so regex can match them */
                                                {
                                                        int offset = 0;
-                                                       while(strchr(line + offset, '\n') != NULL) {
+                                                       while(strchr(pattern_space + offset, '\n') != NULL) {
                                                                char *tmp;
-                                                               line = xrealloc(line, strlen(line) + 2);
-                                                               tmp = strchr(line + offset, '\n');
+                                                               pattern_space = xrealloc(pattern_space, strlen(pattern_space) + 2);
+                                                               tmp = strchr(pattern_space + offset, '\n');
                                                                memmove(tmp + 1, tmp, strlen(tmp) + 1);
                                                                tmp[0] = '\\';
                                                                tmp[1] = 'n';
-                                                               offset = tmp - line + 2;
+                                                               offset = tmp - pattern_space + 2;
                                                        }
                                                }
 #endif
-                                               /* we print the line once, unless we were told to be quiet */
-                                               substituted = do_subst_command(sed_cmd, &line);
+                                               /* we print the pattern_space once, unless we were told to be quiet */
+                                               substituted = do_subst_command(sed_cmd, &pattern_space);
 
 #ifdef CONFIG_FEATURE_SED_EMBEDED_NEWLINE
                                                /* undo HACK: escape newlines twice so regex can match them */
                                                {
-                                                       char *tmp = line;
+                                                       char *tmp = pattern_space;
 
                                                        while((tmp = strstr(tmp, "\\n")) != NULL) {
                                                                memmove(tmp, tmp + 1, strlen(tmp + 1) + 1);
@@ -895,11 +895,11 @@ static void process_file(FILE *file)
                                                /* we also print the line if we were given the 'p' flag
                                                 * (this is quite possibly the second printing) */
                                                if ((sed_cmd->sub_p) && altered) {
-                                                       puts(line);
+                                                       puts(pattern_space);
                                                }
                                                break;
                                        case 'a':
-                                               puts(line);
+                                               puts(pattern_space);
                                                fputs(sed_cmd->editline, stdout);
                                                altered++;
                                                break;
@@ -913,7 +913,7 @@ static void process_file(FILE *file)
                                                if ((sed_cmd->end_match == NULL && sed_cmd->end_line == 0)
                                                /* multi-address case */
                                                /* - matching text */
-                                               || (sed_cmd->end_match && (regexec(sed_cmd->end_match, line, 0, NULL, 0) == 0))
+                                               || (sed_cmd->end_match && (regexec(sed_cmd->end_match, pattern_space, 0, NULL, 0) == 0))
                                                /* - matching line numbers */
                                                || (sed_cmd->end_line > 0 && sed_cmd->end_line == linenum))
                                                {
@@ -925,7 +925,7 @@ static void process_file(FILE *file)
 
                                        case 'r': {
                                                        FILE *outfile;
-                                                       puts(line);
+                                                       puts(pattern_space);
                                                        outfile = fopen(sed_cmd->filename, "r");
                                                        if (outfile)
                                                                bb_xprint_and_close_file(outfile);
@@ -941,16 +941,16 @@ static void process_file(FILE *file)
                                                next_line = NULL;
                                                break;
                                        case 'n':       /* Read next line from input */
-                                               free(line);
-                                               line = next_line;
+                                               free(pattern_space);
+                                               pattern_space = next_line;
                                                next_line = bb_get_chomped_line_from_file(file);
                                                linenum++;
                                                break;
                                        case 'N':       /* Append the next line to the current line */
                                                if (next_line) {
-                                                       line = realloc(line, strlen(line) + strlen(next_line) + 2);
-                                                       strcat(line, "\n");
-                                                       strcat(line, next_line);
+                                                       pattern_space = realloc(pattern_space, strlen(pattern_space) + strlen(next_line) + 2);
+                                                       strcat(pattern_space, "\n");
+                                                       strcat(pattern_space, next_line);
                                                        next_line = bb_get_chomped_line_from_file(file);
                                                        linenum++;
                                                }
@@ -965,18 +965,16 @@ static void process_file(FILE *file)
                                                break;
                                        case 'y': {
                                                        int i;
-                                                       for (i = 0; line[i] != 0; i++) {
+                                                       for (i = 0; pattern_space[i] != 0; i++) {
                                                                int j;
                                                                for (j = 0; sed_cmd->translate[j] ;j += 2) {
-                                                                       if (line[i] == sed_cmd->translate[j]) {
-                                                                               line[i] = sed_cmd->translate[j + 1];
+                                                                       if (pattern_space[i] == sed_cmd->translate[j]) {
+                                                                               pattern_space[i] = sed_cmd->translate[j + 1];
                                                                        }
                                                                }
                                                        }
                                                }
                                                break;
-//                                     case ':':
-//                                             break;
                                }
                        }
 
@@ -993,7 +991,7 @@ static void process_file(FILE *file)
                                                        /* this line number is the last address we're looking for or... */
                                                        (sed_cmd->end_line && (sed_cmd->end_line == linenum)) ||
                                                        /* this line matches our last address regex */
-                                                       (sed_cmd->end_match && (regexec(sed_cmd->end_match, line, 0, NULL, 0) == 0))
+                                                       (sed_cmd->end_match && (regexec(sed_cmd->end_match, pattern_space, 0, NULL, 0) == 0))
                                                )
                                        )
                                ) {
@@ -1015,11 +1013,11 @@ static void process_file(FILE *file)
                 * line was altered (via a 'd'elete or 's'ubstitution), in which case
                 * the altered line was already printed */
                if ((!be_quiet && !altered) || force_print){
-                       puts(line);
+                       puts(pattern_space);
                }
-               free(line);
-               line = next_line;
-       } while (line);
+               free(pattern_space);
+               pattern_space = next_line;
+       } while (pattern_space);
 }
 
 extern int sed_main(int argc, char **argv)