ino error in simple horizontal session - iomenu - interactive terminal-based selection menu Err bitreich.org 70 hgit clone git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu URL:git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu bitreich.org 70 1Log /scm/iomenu/log.gph bitreich.org 70 1Files /scm/iomenu/files.gph bitreich.org 70 1Refs /scm/iomenu/refs.gph bitreich.org 70 1Tags /scm/iomenu/tag bitreich.org 70 1README /scm/iomenu/file/README.gph bitreich.org 70 1LICENSE /scm/iomenu/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit e58594b7646d9c29a192174f194359b039001909 /scm/iomenu/commit/e58594b7646d9c29a192174f194359b039001909.gph bitreich.org 70 1parent 8be6c99abe504ab6090d28a65d19c0c83bb36e75 /scm/iomenu/commit/8be6c99abe504ab6090d28a65d19c0c83bb36e75.gph bitreich.org 70 hAuthor: Josuah Demangeonā  ā µ URL:mailto:mail@josuah.net bitreich.org 70 iDate: Sat, 18 Mar 2017 11:42:27 +0100 Err bitreich.org 70 i Err bitreich.org 70 ino error in simple horizontal session Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M iomenu.c | 20 ++++---------------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 4 insertions(+), 16 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/iomenu.c b/iomenu.c /scm/iomenu/file/iomenu.c.gph bitreich.org 70 i@@ -194,21 +194,8 @@ print_column(size_t pos, size_t col, size_t cols) Err bitreich.org 70 i { Err bitreich.org 70 i fputs(pos == current ? "\033[30;47m " : " ", stderr); Err bitreich.org 70 i Err bitreich.org 70 i- for (size_t i = 0; col < cols ;) { Err bitreich.org 70 i- int len = mblen(linev[pos]->text + i, BUFSIZ - i); Err bitreich.org 70 i- Err bitreich.org 70 i- if (len < 0) { Err bitreich.org 70 i- i++; Err bitreich.org 70 i- continue; Err bitreich.org 70 i- } else if (len == 0) { Err bitreich.org 70 i- break; Err bitreich.org 70 i- } Err bitreich.org 70 i- Err bitreich.org 70 i- col += linev[pos]->text[i] = '\t' ? pos + 1 % 8 : 1; Err bitreich.org 70 i- Err bitreich.org 70 i- for (; len > 0; len--, i++) Err bitreich.org 70 i- fputc(linev[pos]->text[i], stderr); Err bitreich.org 70 i- } Err bitreich.org 70 i+ for (size_t i = 0; col + i < cols && linev[pos]->text[i]; i++) Err bitreich.org 70 i+ fputc(linev[pos]->text[i], stderr); Err bitreich.org 70 i Err bitreich.org 70 i fputs(pos == current ? " \033[m" : " ", stderr); Err bitreich.org 70 i Err bitreich.org 70 i@@ -221,7 +208,7 @@ print_columns(size_t cols) Err bitreich.org 70 i { Err bitreich.org 70 i size_t col = 20; Err bitreich.org 70 i Err bitreich.org 70 i- for (size_t i = offset; col < cols; i++) Err bitreich.org 70 i+ for (size_t i = offset; col < cols && i < linec; i++) Err bitreich.org 70 i col = print_column(i, col, cols); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -254,6 +241,7 @@ print_screen(int tty_fd) Err bitreich.org 70 i print_lines(count, w.ws_col); Err bitreich.org 70 i fprintf(stderr, "\033[%ldA", count); Err bitreich.org 70 i } else { Err bitreich.org 70 i+ fputs("\033[20C", stderr); Err bitreich.org 70 i print_columns(w.ws_col); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 .