diff --git a/kittens/transfer/ftc.go b/kittens/transfer/ftc.go index c7a8ab9bb..5dbc24772 100644 --- a/kittens/transfer/ftc.go +++ b/kittens/transfer/ftc.go @@ -335,10 +335,8 @@ func split_for_transfer(data []byte, file_id string, mark_last bool, callback fu chunk = data[:chunk_size] } data = data[len(chunk):] - ac := Action_data - if mark_last && len(data) == 0 { - ac = Action_end_data - } - callback(&FileTransmissionCommand{Action: ac, File_id: file_id, Data: chunk}) + callback(&FileTransmissionCommand{ + Action: utils.IfElse(mark_last && len(data) == 0, Action_end_data, Action_data), + File_id: file_id, Data: chunk}) } } diff --git a/tools/utils/misc.go b/tools/utils/misc.go index 2549cbd06..300ad952b 100644 --- a/tools/utils/misc.go +++ b/tools/utils/misc.go @@ -248,3 +248,10 @@ func SetStructDefaults(v reflect.Value) (err error) { } return } + +func IfElse[T any](condition bool, if_val T, else_val T) T { + if condition { + return if_val + } + return else_val +}