Fix up indenting
This commit is contained in:
parent
d7fe39b587
commit
d4185b0e15
@ -174,8 +174,8 @@ static int index_of_next_unescaped_regexp_delim(const char delimiter,
|
||||
|
||||
for (; (ch = str[idx]); idx++) {
|
||||
if (bracket != -1) {
|
||||
if (ch == ']' && !(bracket == idx - 1 ||
|
||||
(bracket == idx - 2 && str[idx - 1] == '^')))
|
||||
if (ch == ']' && !(bracket == idx - 1 || (bracket == idx - 2
|
||||
&& str[idx - 1] == '^')))
|
||||
bracket = -1;
|
||||
} else if (escaped)
|
||||
escaped = 0;
|
||||
@ -449,7 +449,7 @@ static int parse_file_cmd(sed_cmd_t * sed_cmd, const char *filecmdstr)
|
||||
/*
|
||||
* Process the commands arguments
|
||||
*/
|
||||
static char *parse_cmd_str(sed_cmd_t *sed_cmd, char *cmdstr)
|
||||
static char *parse_cmd_str(sed_cmd_t * sed_cmd, char *cmdstr)
|
||||
{
|
||||
/* handle (s)ubstitution command */
|
||||
if (sed_cmd->cmd == 's') {
|
||||
@ -686,9 +686,7 @@ void pipe_putc(struct pipeline *const pipeline, char c)
|
||||
#endif
|
||||
|
||||
static void print_subst_w_backrefs(const char *line, const char *replace,
|
||||
regmatch_t * regmatch,
|
||||
struct pipeline *const pipeline,
|
||||
int matches)
|
||||
regmatch_t * regmatch, struct pipeline *const pipeline, int matches)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -723,6 +721,7 @@ static void print_subst_w_backrefs(const char *line, const char *replace,
|
||||
* purpose...) */
|
||||
else if (replace[i] == '&') {
|
||||
int j;
|
||||
|
||||
for (j = regmatch[0].rm_so; j < regmatch[0].rm_eo; j++)
|
||||
pipeputc(line[j]);
|
||||
}
|
||||
@ -766,8 +765,8 @@ static int do_subst_command(sed_cmd_t * sed_cmd, char **line)
|
||||
|
||||
/* and now, as long as we've got a line to try matching and if we can match
|
||||
* the search string, we make substitutions */
|
||||
while ((*hackline || !altered) && (regexec(current_regex, hackline,
|
||||
sed_cmd->num_backrefs + 1,
|
||||
while ((*hackline || !altered)
|
||||
&& (regexec(current_regex, hackline, sed_cmd->num_backrefs + 1,
|
||||
regmatch, 0) != REG_NOMATCH)) {
|
||||
int i;
|
||||
|
||||
@ -776,8 +775,8 @@ static int do_subst_command(sed_cmd_t * sed_cmd, char **line)
|
||||
pipeputc(hackline[i]);
|
||||
|
||||
/* then print the substitution string */
|
||||
print_subst_w_backrefs(hackline, sed_cmd->replace, regmatch,
|
||||
pipeline, sed_cmd->num_backrefs);
|
||||
print_subst_w_backrefs(hackline, sed_cmd->replace, regmatch, pipeline,
|
||||
sed_cmd->num_backrefs);
|
||||
|
||||
/* advance past the match */
|
||||
hackline += regmatch[0].rm_eo;
|
||||
@ -805,6 +804,7 @@ static int do_subst_command(sed_cmd_t * sed_cmd, char **line)
|
||||
static sed_cmd_t *branch_to(const char *label)
|
||||
{
|
||||
sed_cmd_t *sed_cmd;
|
||||
|
||||
for (sed_cmd = sed_cmd_head.next; sed_cmd; sed_cmd = sed_cmd->next) {
|
||||
if ((sed_cmd->label) && (strcmp(sed_cmd->label, label) == 0)) {
|
||||
break;
|
||||
@ -843,8 +843,7 @@ static void process_file(FILE * file)
|
||||
force_print = 0;
|
||||
|
||||
/* for every line, go through all the commands */
|
||||
for (sed_cmd = sed_cmd_head.next; sed_cmd;
|
||||
sed_cmd = sed_cmd->next) {
|
||||
for (sed_cmd = sed_cmd_head.next; sed_cmd; sed_cmd = sed_cmd->next) {
|
||||
int deleted = 0;
|
||||
|
||||
/*
|
||||
@ -852,18 +851,14 @@ static void process_file(FILE * file)
|
||||
*/
|
||||
int matched = (
|
||||
/* no range necessary */
|
||||
(sed_cmd->beg_line == 0
|
||||
&& sed_cmd->end_line == 0
|
||||
(sed_cmd->beg_line == 0 && sed_cmd->end_line == 0
|
||||
&& sed_cmd->beg_match == NULL
|
||||
&& sed_cmd->end_match == NULL) ||
|
||||
/* this line number is the first address we're looking for */
|
||||
(sed_cmd->beg_line
|
||||
&& (sed_cmd->beg_line == linenum)) ||
|
||||
(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, pattern_space, 0, NULL,
|
||||
&& (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)
|
||||
@ -952,8 +947,7 @@ static void process_file(FILE * file)
|
||||
#endif
|
||||
altered |= substituted;
|
||||
if (!be_quiet && altered && ((sed_cmd->next == NULL)
|
||||
|| (sed_cmd->next->cmd !=
|
||||
's'))) {
|
||||
|| (sed_cmd->next->cmd != 's'))) {
|
||||
force_print = 1;
|
||||
}
|
||||
|
||||
@ -979,10 +973,8 @@ static void process_file(FILE * file)
|
||||
/* multi-address case */
|
||||
/* - matching text */
|
||||
|| (sed_cmd->end_match
|
||||
&&
|
||||
(regexec
|
||||
(sed_cmd->end_match, pattern_space, 0, NULL,
|
||||
0) == 0))
|
||||
&& (regexec(sed_cmd->end_match, pattern_space, 0,
|
||||
NULL, 0) == 0))
|
||||
/* - matching line numbers */
|
||||
|| (sed_cmd->end_line > 0
|
||||
&& sed_cmd->end_line == linenum)) {
|
||||
@ -994,11 +986,17 @@ static void process_file(FILE * file)
|
||||
|
||||
case 'r':{
|
||||
FILE *outfile;
|
||||
|
||||
outfile = fopen(sed_cmd->filename, "r");
|
||||
if (outfile) {
|
||||
char *line;
|
||||
while ((line = bb_get_chomped_line_from_file(outfile)) != NULL) {
|
||||
pattern_space = xrealloc(pattern_space, strlen(line) + strlen(pattern_space) + 2);
|
||||
|
||||
while ((line =
|
||||
bb_get_chomped_line_from_file(outfile)) !=
|
||||
NULL) {
|
||||
pattern_space =
|
||||
xrealloc(pattern_space,
|
||||
strlen(line) + strlen(pattern_space) + 2);
|
||||
strcat(pattern_space, "\n");
|
||||
strcat(pattern_space, line);
|
||||
}
|
||||
@ -1023,8 +1021,7 @@ static void process_file(FILE * file)
|
||||
if (next_line) {
|
||||
pattern_space =
|
||||
realloc(pattern_space,
|
||||
strlen(pattern_space) +
|
||||
strlen(next_line) + 2);
|
||||
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);
|
||||
@ -1079,37 +1076,21 @@ static void process_file(FILE * file)
|
||||
if (
|
||||
/* this is a single-address command or... */
|
||||
(sed_cmd->end_line == 0 && sed_cmd->end_match == NULL)
|
||||
|| (
|
||||
/* If only one address */
|
||||
/* we were in the middle of our address range (this
|
||||
* isn't the first time through) and.. */
|
||||
(still_in_range == 1) && (
|
||||
|| ((still_in_range == 1)
|
||||
/* this line number is the last address we're looking for or... */
|
||||
(sed_cmd->
|
||||
end_line
|
||||
&& (sed_cmd->
|
||||
end_line ==
|
||||
linenum))
|
||||
||
|
||||
&& ((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,
|
||||
pattern_space,
|
||||
0, NULL,
|
||||
0) == 0))
|
||||
)
|
||||
)
|
||||
) {
|
||||
|| (sed_cmd->end_match
|
||||
&& (regexec(sed_cmd->end_match, pattern_space,
|
||||
0, NULL, 0) == 0))))) {
|
||||
/* we're out of our address range */
|
||||
still_in_range = 0;
|
||||
}
|
||||
|
||||
} else {
|
||||
/* didn't hit the exit? then we're still in the middle of an address range */
|
||||
else {
|
||||
still_in_range = 1;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user