Use Unsafe rather than Dangerous to be consistent
This commit is contained in:
parent
081390b5a2
commit
a7f6105393
@ -72,7 +72,7 @@ func do_chunked_io(io_data *rc_io_data) (serialized_response []byte, err error)
|
||||
|
||||
queue_escape_code := func(data []byte) {
|
||||
lp.QueueWriteString(cmd_escape_code_prefix)
|
||||
lp.QueueWriteBytesDangerous(data)
|
||||
lp.UnsafeQueueWriteBytes(data)
|
||||
lp.QueueWriteString(cmd_escape_code_suffix)
|
||||
}
|
||||
|
||||
|
||||
@ -172,7 +172,7 @@ func (self *Loop) QueueWriteString(data string) IdType {
|
||||
|
||||
// This is dangerous as it is upto the calling code
|
||||
// to ensure the data in the underlying array does not change
|
||||
func (self *Loop) QueueWriteBytesDangerous(data []byte) IdType {
|
||||
func (self *Loop) UnsafeQueueWriteBytes(data []byte) IdType {
|
||||
self.write_msg_id_counter++
|
||||
msg := write_msg{bytes: data, id: self.write_msg_id_counter}
|
||||
self.add_write_to_pending_queue(&msg)
|
||||
@ -182,7 +182,7 @@ func (self *Loop) QueueWriteBytesDangerous(data []byte) IdType {
|
||||
func (self *Loop) QueueWriteBytesCopy(data []byte) IdType {
|
||||
d := make([]byte, len(data))
|
||||
copy(d, data)
|
||||
return self.QueueWriteBytesDangerous(d)
|
||||
return self.UnsafeQueueWriteBytes(d)
|
||||
}
|
||||
|
||||
func (self *Loop) ExitCode() int {
|
||||
|
||||
@ -229,7 +229,7 @@ func (self *Loop) run() (err error) {
|
||||
} else {
|
||||
return err
|
||||
}
|
||||
self.QueueWriteBytesDangerous(self.terminal_options.SetStateEscapeCodes())
|
||||
self.QueueWriteString(self.terminal_options.SetStateEscapeCodes())
|
||||
needs_reset_escape_codes := true
|
||||
|
||||
defer func() {
|
||||
@ -241,7 +241,7 @@ func (self *Loop) run() (err error) {
|
||||
self.QueueWriteString(finalizer)
|
||||
}
|
||||
if needs_reset_escape_codes {
|
||||
self.QueueWriteBytesDangerous(self.terminal_options.ResetStateEscapeCodes())
|
||||
self.QueueWriteString(self.terminal_options.ResetStateEscapeCodes())
|
||||
}
|
||||
// flush queued data and wait for it to be written for a timeout, then wait for writer to shutdown
|
||||
flush_writer(w_w, tty_write_channel, write_done_channel, self.pending_writes, 2*time.Second)
|
||||
@ -262,7 +262,7 @@ func (self *Loop) run() (err error) {
|
||||
}
|
||||
|
||||
self.on_SIGTSTP = func() error {
|
||||
write_id := self.QueueWriteBytesDangerous(self.terminal_options.ResetStateEscapeCodes())
|
||||
write_id := self.QueueWriteString(self.terminal_options.ResetStateEscapeCodes())
|
||||
needs_reset_escape_codes = false
|
||||
err := self.wait_for_write_to_complete(write_id, tty_write_channel, write_done_channel, 2*time.Second)
|
||||
if err != nil {
|
||||
@ -276,7 +276,7 @@ func (self *Loop) run() (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
write_id = self.QueueWriteBytesDangerous(self.terminal_options.SetStateEscapeCodes())
|
||||
write_id = self.QueueWriteString(self.terminal_options.SetStateEscapeCodes())
|
||||
needs_reset_escape_codes = true
|
||||
err = self.wait_for_write_to_complete(write_id, tty_write_channel, write_done_channel, 2*time.Second)
|
||||
if err != nil {
|
||||
|
||||
@ -92,7 +92,7 @@ func reset_modes(sb *strings.Builder, modes ...Mode) {
|
||||
}
|
||||
}
|
||||
|
||||
func (self *TerminalStateOptions) SetStateEscapeCodes() []byte {
|
||||
func (self *TerminalStateOptions) SetStateEscapeCodes() string {
|
||||
var sb strings.Builder
|
||||
sb.Grow(256)
|
||||
sb.WriteString(S7C1T)
|
||||
@ -128,10 +128,10 @@ func (self *TerminalStateOptions) SetStateEscapeCodes() []byte {
|
||||
sb.WriteString(MOUSE_MOVE_TRACKING.EscapeCodeToSet())
|
||||
}
|
||||
}
|
||||
return []byte(sb.String())
|
||||
return sb.String()
|
||||
}
|
||||
|
||||
func (self *TerminalStateOptions) ResetStateEscapeCodes() []byte {
|
||||
func (self *TerminalStateOptions) ResetStateEscapeCodes() string {
|
||||
var sb strings.Builder
|
||||
sb.Grow(64)
|
||||
sb.WriteString("\033[<u")
|
||||
@ -145,5 +145,5 @@ func (self *TerminalStateOptions) ResetStateEscapeCodes() []byte {
|
||||
sb.WriteString(RESTORE_CURSOR)
|
||||
}
|
||||
sb.WriteString(RESTORE_COLORS)
|
||||
return []byte(sb.String())
|
||||
return sb.String()
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user