[PATCH v6 08/12] lib: sbi: Simplify prints
Xiang W
wxjstz at 126.com
Tue Jul 4 02:46:53 PDT 2023
在 2023-07-04星期二的 11:24 +0530,Anup Patel写道:
> On Mon, Jun 12, 2023 at 1:40 PM Xiang W <wxjstz at 126.com> wrote:
> >
> > When doing width = width - strlen(string) in prints there is no need
> > to consider the case that witdh may be less than 0. This is because
> > the code to do filling needs to be executed under the condition that
> > width > 0.
> >
> > Signed-off-by: Xiang W <wxjstz at 126.com>
> > ---
> > lib/sbi/sbi_console.c | 21 ++++-----------------
> > 1 file changed, 4 insertions(+), 17 deletions(-)
> >
> > diff --git a/lib/sbi/sbi_console.c b/lib/sbi/sbi_console.c
> > index 6f714f0..824ff6e 100644
> > --- a/lib/sbi/sbi_console.c
> > +++ b/lib/sbi/sbi_console.c
> > @@ -151,24 +151,11 @@ static void printc(char **out, u32 *out_len, char ch)
> > static int prints(char **out, u32 *out_len, const char *string, int width,
> > int flags)
> > {
> > - int pc = 0;
> > - char padchar = ' ';
> > -
> > - if (width > 0) {
> > - int len = 0;
> > - const char *ptr;
> > - for (ptr = string; *ptr; ++ptr)
> > - ++len;
> > - if (len >= width)
> > - width = 0;
> > - else
> > - width -= len;
> > - if (flags & PAD_ZERO)
> > - padchar = '0';
> > - }
> > + int pc = 0;
> > + width -= sbi_strlen(string);
> > if (!(flags & PAD_RIGHT)) {
> > for (; width > 0; --width) {
> > - printc(out, out_len, padchar);
> > + printc(out, out_len, flags & PAD_ZERO ? '0' : ' ');
> > ++pc;
> > }
> > }
> > @@ -177,7 +164,7 @@ static int prints(char **out, u32 *out_len, const char *string, int width,
> > ++pc;
> > }
> > for (; width > 0; --width) {
> > - printc(out, out_len, padchar);
> > + printc(out, out_len, ' ');
>
> The padchar should be
> flags & PAD_ZERO ? '0' : ' '
PATCH2 ensures that the right side not need pad 0
Regards,
Xiang W
>
> > ++pc;
> > }
> >
> > --
> > 2.39.2
> >
>
> Regards,
> Anup
More information about the opensbi
mailing list