:: commit b417c3cb8d548dfa2e6437d413e0f7cb0d7a206d

mintsuki <mintsuki@protonmail.com> — 2023-07-28 06:36

parents: 5ebe3b0e66

menu: Fix a couple of boot menu alignment issues

diff --git a/common/menu.c b/common/menu.c
index 8e9f261e..5d7123af 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -504,9 +504,11 @@ static size_t print_tree(size_t offset, size_t window, const char *shift, size_t
     if (max_len == NULL) {
         max_len = &dummy_max_len;
     }
+    if (!level) {
+        *max_len = 0;
+    }
     if (shift == NULL) {
         no_print = true;
-        *max_len = 0;
     }
 
     for (;;) {
@@ -813,7 +815,7 @@ refresh:
     print_tree(tree_offset, terms[0]->rows - 10, NULL, 0, 0, selected_entry, menu_tree,
                &selected_menu_entry, &max_tree_len);
 
-    size_t tree_prefix_len = terms[0]->cols / 2 - max_tree_len / 2;
+    size_t tree_prefix_len = terms[0]->cols / 2 - DIV_ROUNDUP(max_tree_len, 2);
     if (!serial) tree_prefix_len += strlen("│") - 1;
     char *tree_prefix = ext_mem_alloc(tree_prefix_len);
     memset(tree_prefix, ' ', tree_prefix_len);
tab: 248 wrap: offon