mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-25 17:52:02 +02:00
oops
This commit is contained in:
@@ -52,23 +52,25 @@ type response_reader struct {
|
|||||||
|
|
||||||
func (r *response_reader) read_response_from_conn(conn *net.Conn, timeout time.Duration) (serialized_response []byte, err error) {
|
func (r *response_reader) read_response_from_conn(conn *net.Conn, timeout time.Duration) (serialized_response []byte, err error) {
|
||||||
keep_going := true
|
keep_going := true
|
||||||
r.parser.HandleDCS = func(data []byte) error {
|
if len(r.pending_responses) == 0 {
|
||||||
if bytes.HasPrefix(data, []byte("@kitty-cmd")) {
|
r.parser.HandleDCS = func(data []byte) error {
|
||||||
r.pending_responses = append(r.pending_responses, append([]byte{}, data[len("@kitty-cmd"):]...))
|
if bytes.HasPrefix(data, []byte("@kitty-cmd")) {
|
||||||
keep_going = false
|
r.pending_responses = append(r.pending_responses, append([]byte{}, data[len("@kitty-cmd"):]...))
|
||||||
|
keep_going = false
|
||||||
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
return nil
|
buf := r.storage[:]
|
||||||
}
|
for keep_going {
|
||||||
buf := r.storage[:]
|
var n int
|
||||||
for keep_going {
|
(*conn).SetDeadline(time.Now().Add(timeout))
|
||||||
var n int
|
n, err = (*conn).Read(buf)
|
||||||
(*conn).SetDeadline(time.Now().Add(timeout))
|
if err != nil {
|
||||||
n, err = (*conn).Read(buf)
|
keep_going = false
|
||||||
if err != nil {
|
break
|
||||||
keep_going = false
|
}
|
||||||
break
|
r.parser.Parse(buf[:n])
|
||||||
}
|
}
|
||||||
r.parser.Parse(buf[:n])
|
|
||||||
}
|
}
|
||||||
if len(r.pending_responses) > 0 {
|
if len(r.pending_responses) > 0 {
|
||||||
serialized_response = r.pending_responses[0]
|
serialized_response = r.pending_responses[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user