Skip to content

Commit

Permalink
Check values when emitting ansi sequences for cursor movement, fixes #…
Browse files Browse the repository at this point in the history
  • Loading branch information
gnodet committed Dec 1, 2020
1 parent 0171ecb commit 70adaeb
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/main/java/org/fusesource/jansi/Ansi.java
Expand Up @@ -523,39 +523,39 @@ public Ansi cursor(final int row, final int column) {
}

public Ansi cursorToColumn(final int x) {
return appendEscapeSequence('G', x);
return x >= 0 ? appendEscapeSequence('G', x) : this;
}

public Ansi cursorUp(final int y) {
return appendEscapeSequence('A', y);
}

public Ansi cursorDown(final int y) {
return appendEscapeSequence('B', y);
return y > 0 ? appendEscapeSequence('B', y) : this;
}

public Ansi cursorRight(final int x) {
return appendEscapeSequence('C', x);
return x > 0 ? appendEscapeSequence('C', x) : this;
}

public Ansi cursorLeft(final int x) {
return appendEscapeSequence('D', x);
return x > 0 ? appendEscapeSequence('D', x) : this;
}

public Ansi cursorDownLine() {
return appendEscapeSequence('E');
}

public Ansi cursorDownLine(final int n) {
return appendEscapeSequence('E', n);
return n > 0 ? appendEscapeSequence('E', n) : this;
}

public Ansi cursorUpLine() {
return appendEscapeSequence('F');
}

public Ansi cursorUpLine(final int n) {
return appendEscapeSequence('F', n);
return n > 0 ? appendEscapeSequence('F', n) : this;
}

public Ansi eraseScreen() {
Expand All @@ -575,11 +575,11 @@ public Ansi eraseLine(final Erase kind) {
}

public Ansi scrollUp(final int rows) {
return appendEscapeSequence('S', rows);
return rows > 0 ? appendEscapeSequence('S', rows) : this;
}

public Ansi scrollDown(final int rows) {
return appendEscapeSequence('T', rows);
return rows > 0 ? appendEscapeSequence('T', rows) : this;
}

public Ansi saveCursorPosition() {
Expand Down

0 comments on commit 70adaeb

Please sign in to comment.