FILE *sw_file; /* File (sw) command writes to, -1 for none. */
char *string; /* Data string for (saicytb) commands. */
- unsigned short which_match; /* (s) Which match to replace (0 for all) */
+ unsigned which_match; /* (s) Which match to replace (0 for all) */
/* Bitfields (gcc won't group them if we don't) */
unsigned invert:1; /* the '!' after the address */
/* Match 0 treated as all, multiple matches we take the last one. */
const char *pos = substr + idx;
/* FIXME: error check? */
- sed_cmd->which_match = (unsigned short)strtol(substr+idx, (char**) &pos, 10);
+ sed_cmd->which_match = (unsigned)strtol(substr+idx, (char**) &pos, 10);
idx = pos - substr;
}
continue;
switch (substr[idx]) {
/* Replace all occurrences */
case 'g':
- if (match[0] != '^') sed_cmd->which_match = 0;
+ if (match[0] != '^')
+ sed_cmd->which_match = 0;
break;
/* Print pattern space */
case 'p':
altered++;
/* if we're not doing this globally, get out now */
- if (sed_cmd->which_match) break;
+ if (sed_cmd->which_match)
+ break;
} while (*oldline && (regexec(current_regex, oldline, 10, G.regmatch, 0) != REG_NOMATCH));
/* Copy rest of string into output pipeline */
G.nonstdout = stdout;
/* unlink(argv[i]); */
- // FIXME: error check / message?
- rename(G.outname, argv[i]);
+ xrename(G.outname, argv[i]);
free(G.outname);
G.outname = NULL;
}