Parcourir la source

guard negative value

Yasuhiro Matsumoto il y a 8 ans
Parent
commit
ad5389df28
1 fichiers modifiés avec 3 ajouts et 0 suppressions
  1. 3 0
      colorable_windows.go

+ 3 - 0
colorable_windows.go

@@ -518,6 +518,9 @@ loop:
 			}
 			procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi)))
 			csbi.cursorPosition.x -= short(n)
+			if csbi.cursorPosition.x < 0 {
+				csbi.cursorPosition.x = 0
+			}
 			procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition)))
 		case 'E':
 			n, err = strconv.Atoi(buf.String())