From cf194121464383426abd841e725ddf513a32b8cb Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 2 Jul 2023 11:44:22 +0530 Subject: [PATCH] Fix a couple of infinite loops --- kittens/transfer/ftc.go | 3 +-- kittens/transfer/send.go | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/kittens/transfer/ftc.go b/kittens/transfer/ftc.go index f4897d87d9c..40163df6e0e 100644 --- a/kittens/transfer/ftc.go +++ b/kittens/transfer/ftc.go @@ -337,9 +337,8 @@ func split_for_transfer(data []byte, file_id string, mark_last bool, callback fu chunk := data if len(chunk) > chunk_size { chunk = data[:chunk_size] - data = data[chunk_size:] } callback(&FileTransmissionCommand{Action: ac, File_id: file_id, Data: chunk}) - + data = data[len(chunk):] } } diff --git a/kittens/transfer/send.go b/kittens/transfer/send.go index 62335308788..0953e7894f6 100644 --- a/kittens/transfer/send.go +++ b/kittens/transfer/send.go @@ -979,6 +979,7 @@ func (self *SendManager) next_chunks(callback func(string)) error { split_for_transfer(utils.UnsafeStringToBytes(chunk), af.file_id, is_last, func(ftc *FileTransmissionCommand) { callback(ftc.Serialize()) }) } else if is_last { callback(FileTransmissionCommand{Action: Action_end_data, File_id: af.file_id}.Serialize()) + self.activate_next_ready_file() } } } @@ -1007,8 +1008,7 @@ func (self *SendHandler) start_transfer() (err error) { if self.manager.active_file() != nil { self.transmit_started = true self.manager.progress_tracker.start_transfer() - err = self.transmit_next_chunk() - if err != nil { + if err = self.transmit_next_chunk(); err != nil { return } self.draw_progress()