libbb: introduce and use strcpy_and_process_escape_sequences
function old new delta strcpy_and_process_escape_sequences - 50 +50 bb_process_escape_sequence 148 138 -10 printf_main 789 776 -13 getty_main 1897 1831 -66 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/3 up/down: 50/-89) Total: -39 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@ -122,16 +122,14 @@ static double my_xstrtod(const char *arg)
|
||||
return result;
|
||||
}
|
||||
|
||||
static void print_esc_string(char *str)
|
||||
static void print_esc_string(const char *str)
|
||||
{
|
||||
while (*str) {
|
||||
if (*str == '\\') {
|
||||
str++;
|
||||
bb_putchar(bb_process_escape_sequence((const char **)&str));
|
||||
} else {
|
||||
bb_putchar(*str);
|
||||
str++;
|
||||
}
|
||||
char c;
|
||||
while ((c = *str) != '\0') {
|
||||
str++;
|
||||
if (c == '\\')
|
||||
c = bb_process_escape_sequence(&str);
|
||||
putchar(c);
|
||||
}
|
||||
}
|
||||
|
||||
@ -344,7 +342,7 @@ static char **print_formatted(char *f, char **argv, int *conv_err)
|
||||
f--;
|
||||
break;
|
||||
default:
|
||||
bb_putchar(*f);
|
||||
putchar(*f);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user