operator-index.go: ConstLastIndex is checked
This commit is contained in:
parent
d63b18fd76
commit
ff9cf80c66
@ -40,11 +40,14 @@ func verifyRange(indexTerm *term, indexList *ListType, maxValue int) (startIndex
|
|||||||
v, _ := ((*indexList)[0]).(*intPair)
|
v, _ := ((*indexList)[0]).(*intPair)
|
||||||
startIndex = v.a
|
startIndex = v.a
|
||||||
endIndex = v.b
|
endIndex = v.b
|
||||||
|
if endIndex == ConstLastIndex {
|
||||||
|
endIndex = maxValue
|
||||||
|
}
|
||||||
if startIndex < 0 && startIndex >= -maxValue {
|
if startIndex < 0 && startIndex >= -maxValue {
|
||||||
startIndex = maxValue + startIndex
|
startIndex = maxValue + startIndex
|
||||||
}
|
}
|
||||||
if endIndex < 0 && endIndex >= -maxValue {
|
if endIndex < 0 && endIndex >= -maxValue {
|
||||||
endIndex = maxValue + endIndex + 1
|
endIndex = maxValue + endIndex
|
||||||
}
|
}
|
||||||
if startIndex < 0 || startIndex > maxValue {
|
if startIndex < 0 || startIndex > maxValue {
|
||||||
err = indexTerm.Errorf("range start-index %d is out of bounds", startIndex)
|
err = indexTerm.Errorf("range start-index %d is out of bounds", startIndex)
|
||||||
|
Loading…
Reference in New Issue
Block a user