aboutsummaryrefslogtreecommitdiff
path: root/src/tester.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tester.c')
-rw-r--r--src/tester.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/tester.c b/src/tester.c
index 7723e97..06a938f 100644
--- a/src/tester.c
+++ b/src/tester.c
@@ -53,16 +53,19 @@ static Outputs suppressed = {
#define nl printf("\n")
static void print_center(const char *text, int color, char padding_char) {
- size_t post_char_count = (RENDER_WIDTH - strlen(text)) / 2;
- size_t pre_char_count = RENDER_WIDTH - post_char_count - strlen(text);
-
- for (size_t i = 1; i < pre_char_count; i++)
- printf("%c", padding_char);
-
- print_color(color, " %s ", text);
-
- for (size_t i = 1; i < post_char_count; i++)
- printf("%c", padding_char);
+ size_t len = strlen(text);
+ if (len + 2 > RENDER_WIDTH) {
+ print_color(color, "%s", text);
+ }
+ else {
+ size_t post_char_count = (RENDER_WIDTH - len) / 2;
+ size_t pre_char_count = RENDER_WIDTH - post_char_count - len;
+ for (size_t i = 1; i < pre_char_count; i++)
+ printf("%c", padding_char);
+ print_color(color, " %s ", text);
+ for (size_t i = 1; i < post_char_count; i++)
+ printf("%c", padding_char);
+ }
nl;
}