From 45c2ce2cd99e4f4636806dfe4135febed035acdc Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 17 Dec 2023 23:30:45 +0200 Subject: [PATCH] Fix Go 1.20 compatibility --- msgconv/signalfmt/convert.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/msgconv/signalfmt/convert.go b/msgconv/signalfmt/convert.go index 7674f05f..1abfb2c3 100644 --- a/msgconv/signalfmt/convert.go +++ b/msgconv/signalfmt/convert.go @@ -17,7 +17,6 @@ package signalfmt import ( - "cmp" "html" "strings" @@ -58,13 +57,21 @@ func Parse(message string, ranges []*signalpb.BodyRange, params *FormatParams) * if len(ranges) == 0 { return content } - // LinkedRangeTree.Add depends on the ranges being sorted. + // LinkedRangeTree.Add depends on the ranges being sorted by increasing start index and then decreasing length. slices.SortFunc(ranges, func(a, b *signalpb.BodyRange) int { - x := cmp.Compare(*a.Start, *b.Start) - if x == 0 { - return cmp.Compare(*b.Length, *a.Length) + if *a.Start == *b.Start { + if *a.Length == *b.Length { + return 0 + } else if *a.Length < *b.Length { + return 1 + } else { + return -1 + } + } else if *a.Start < *b.Start { + return -1 + } else { + return 1 } - return x }) lrt := &LinkedRangeTree{}