diff options
Diffstat (limited to 'pw.c')
-rw-r--r-- | pw.c | 11 |
1 files changed, 3 insertions, 8 deletions
@@ -364,7 +364,7 @@ static void hlchar(pwstate *pw, int ch) static void drawline(pwstate *pw, const char *line, int lineno) { const char *oline = line; - size_t len = dslen(line); + size_t olen = dslen(line), len = olen; int columns = pw->columns; unsigned vsplit1 = pw->vsplit1; unsigned vsplit2 = pw->vsplit2; @@ -1208,20 +1208,15 @@ int main(int argc, char **argv) case ']': if ((int) pw.vsplit1 < pw.columns - 2) { pw.vsplit1++; - if (pw.vsplit2 > 0) { + if (pw.vsplit2 && + (int) (pw.vsplit1 + pw.vsplit2) >= pw.columns - 2) pw.vsplit2--; - pw.vs2pos++; - } pw.stat |= stat_force; } break; case '[': if (pw.vsplit1 > 0) { pw.vsplit1--; - if (pw.vsplit2 > 0) { - pw.vsplit2++; - pw.vs2pos--; - } pw.stat |= stat_force; } break; |