From ef5b4000dd8c35166a5e0910ebef41067b9f275f Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Thu, 10 Dec 2020 17:19:53 +0000 Subject: [PATCH] More robust token checking --- syncapi/types/types.go | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/syncapi/types/types.go b/syncapi/types/types.go index 70eab8fbf..21de9f33a 100644 --- a/syncapi/types/types.go +++ b/syncapi/types/types.go @@ -261,13 +261,12 @@ func NewTopologyTokenFromString(tok string) (token TopologyToken, err error) { if i > len(positions) { break } - if len(p) == 0 { - err = fmt.Errorf("empty position %d not allowed", i) + var pos int + pos, err = strconv.Atoi(p) + if err != nil { return } - if pos, perr := strconv.Atoi(p); perr == nil { - positions[i] = StreamPosition(pos) - } + positions[i] = StreamPosition(pos) } token = TopologyToken{ Depth: positions[0], @@ -309,13 +308,12 @@ func NewStreamTokenFromString(tok string) (token StreamingToken, err error) { if i > len(positions) { break } - if len(p) == 0 { - err = fmt.Errorf("empty position %d not allowed", i) + var pos int + pos, err = strconv.Atoi(p) + if err != nil { return } - if pos, perr := strconv.Atoi(p); perr == nil { - positions[i] = StreamPosition(pos) - } + positions[i] = StreamPosition(pos) } token = StreamingToken{ PDUPosition: positions[0],