lib: sbi: Simplify prints
authorXiang W <wxjstz@126.com>
Sun, 9 Jul 2023 16:02:28 +0000 (00:02 +0800)
committerAnup Patel <anup@brainfault.org>
Wed, 12 Jul 2023 04:32:06 +0000 (10:02 +0530)
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@126.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
lib/sbi/sbi_console.c

index 9e9f273f54d4fc6024c44a8f848211be6bdee908..adbe2e6b5db01f2dec03351b27539fcd123d6ffb 100644 (file)
@@ -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, ' ');
                ++pc;
        }