Messages in this thread | | | Date | Tue, 21 Nov 2023 11:58:27 -0600 | Subject | Re: [PATCH 17/17] tty: srmcons: make 'str_cr' const and non-array | From | Richard Henderson <> |
| |
On 11/21/23 03:22, Jiri Slaby (SUSE) wrote: > 'str_cr' contains a single character: \n. There is no need to declare it > as array. Declare it as a variable, make it const and pass a pointer to > it to callback_puts(). > > Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> > Cc: Richard Henderson <richard.henderson@linaro.org> > Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> > Cc: Matt Turner <mattst88@gmail.com> > Cc: linux-alpha@vger.kernel.org > --- > arch/alpha/kernel/srmcons.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/alpha/kernel/srmcons.c b/arch/alpha/kernel/srmcons.c > index c6b821afbfd3..a6cff61706b5 100644 > --- a/arch/alpha/kernel/srmcons.c > +++ b/arch/alpha/kernel/srmcons.c > @@ -91,7 +91,7 @@ srmcons_receive_chars(struct timer_list *t) > static void > srmcons_do_write(struct tty_port *port, const char *buf, int count) > { > - static char str_cr[1] = "\r"; > + static const char str_cr = '\r';
Best to remove this entirely...
> size_t c; > srmcons_result result; > > @@ -119,7 +119,7 @@ srmcons_do_write(struct tty_port *port, const char *buf, int count) > } > > while (need_cr) { > - result.as_long = callback_puts(0, str_cr, 1); > + result.as_long = callback_puts(0, &str_cr, 1);
... and simply use "\r" here.
Logically it adds one '\0' of const data, but it is virtually certain that even more bytes of padding are present anyway. As a string literal it will be placed into .rodata.str1.1 and packed with other strings.
r~
| |