Various fixes to make CodeQL happy

This commit is contained in:
Kovid Goyal 2025-04-20 21:18:23 +05:30
parent c84b894a89
commit adfcffa5d7
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
5 changed files with 27 additions and 20 deletions

View file

@ -144,25 +144,25 @@ func KeyEventFromCSI(csi string) *KeyEvent {
csi = csi[:len(csi)-1]
sections := strings.Split(csi, ";")
get_sub_sections := func(section string, missing int) []int {
get_sub_sections := func(section string, missing int32) []int32 {
p := strings.Split(section, ":")
ans := make([]int, len(p))
ans := make([]int32, len(p))
for i, x := range p {
if x == "" {
ans[i] = missing
} else {
q, err := strconv.Atoi(x)
q, err := strconv.ParseUint(x, 10, 32)
if err != nil {
return nil
}
ans[i] = q
ans[i] = int32(q)
}
}
return ans
}
first_section := get_sub_sections(sections[0], 0)
second_section := []int{}
third_section := []int{}
second_section := []int32{}
third_section := []int32{}
if len(sections) > 1 {
second_section = get_sub_sections(sections[1], 1)
}
@ -170,9 +170,9 @@ func KeyEventFromCSI(csi string) *KeyEvent {
third_section = get_sub_sections(sections[2], 0)
}
var ans = KeyEvent{Type: PRESS, CSI: orig_csi}
var keynum int
var keynum int32
if val, ok := letter_trailer_to_csi_number_map[last_char]; ok {
keynum = val
keynum = int32(val)
} else {
if len(first_section) == 0 {
return nil
@ -180,7 +180,7 @@ func KeyEventFromCSI(csi string) *KeyEvent {
keynum = first_section[0]
}
key_name := func(keynum int) string {
key_name := func(keynum int32) string {
switch keynum {
case 0:
return ""
@ -190,11 +190,11 @@ func KeyEventFromCSI(csi string) *KeyEvent {
}
return "F3"
default:
if val, ok := csi_number_to_functional_number_map[keynum]; ok {
keynum = val
if val, ok := csi_number_to_functional_number_map[int(keynum)]; ok {
keynum = int32(val)
}
ans := ""
if val, ok := functional_key_number_to_name_map[keynum]; ok {
if val, ok := functional_key_number_to_name_map[int(keynum)]; ok {
ans = val
} else {
ans = string(rune(keynum))

View file

@ -70,18 +70,22 @@ func (self *Color) FromNumber(n uint8) {
self.Is_numbered, self.Red = true, n
}
func as_uint8(x int) uint8 {
return uint8(uint(x) & 0xff)
}
func (self *Color) FromExtended(nums ...int) bool {
switch nums[0] {
case 5:
if len(nums) > 1 {
self.Red = uint8(nums[1])
self.Red = as_uint8(nums[1])
self.Is_numbered = true
return true
}
case 2:
if len(nums) > 3 {
self.Is_numbered = false
self.Red, self.Green, self.Blue = uint8(nums[1]), uint8(nums[2]), uint8(nums[3])
self.Red, self.Green, self.Blue = as_uint8(nums[1]), as_uint8(nums[2]), as_uint8(nums[3])
return true
}
}

View file

@ -69,7 +69,7 @@ func Abspath(path string) string {
var KittyExe = sync.OnceValue(func() string {
if kitty_pid := os.Getenv("KITTY_PID"); kitty_pid != "" {
if kp, err := strconv.Atoi(kitty_pid); err == nil {
if kp, err := strconv.ParseInt(kitty_pid, 10, 32); err == nil {
if p, err := process.NewProcess(int32(kp)); err == nil {
if exe, err := p.Exe(); err == nil && filepath.IsAbs(exe) && filepath.Base(exe) == "kitty" {
return exe

View file

@ -38,8 +38,7 @@ func is_oct_char(ch rune) bool {
func (self *ansi_c) write_digits(base int) {
if self.digit_idx > 0 {
text := string(self.digits[:self.digit_idx])
val, err := strconv.ParseUint(text, base, 32)
if err == nil {
if val, err := strconv.ParseUint(text, base, 32); err == nil && val <= 0x10ffff {
self.output.WriteRune(rune(val))
}
}

View file

@ -35,6 +35,10 @@ func (self sgr_color) as_sgr(base int) string {
return fmt.Sprintf("%d:2:%d:%d:%d", base+8, self.color.Red, self.color.Green, self.color.Blue)
}
func as_uint8(x int) uint8 {
return uint8(uint(x) & 0xff)
}
func (self *sgr_color) from_extended(nums []int) bool {
switch nums[0] {
case 5:
@ -45,9 +49,9 @@ func (self *sgr_color) from_extended(nums []int) bool {
case 2:
if len(nums) > 3 {
self.number = -1
self.color.Red = uint8(nums[1])
self.color.Green = uint8(nums[2])
self.color.Blue = uint8(nums[3])
self.color.Red = as_uint8(nums[1])
self.color.Green = as_uint8(nums[2])
self.color.Blue = as_uint8(nums[3])
return true
}
}