Throw error instead of panicking

posixStyleMatching
Aadhavan Srinivasan 1 month ago
parent 46f4a2ad83
commit e8e09dd0f9

@ -99,17 +99,17 @@ func range2regex(start int, end int) (string, error) {
// Last range - tmp to rangeEnd // Last range - tmp to rangeEnd
ranges = append(ranges, numRange{tmp, rangeEnd}) ranges = append(ranges, numRange{tmp, rangeEnd})
regex := "(" regex := string(NONCAPLPAREN_CHAR)
// Generate the regex // Generate the regex
for i, rg := range ranges { for i, rg := range ranges {
if i > 0 { if i > 0 {
regex += "|" regex += "|"
} }
regex += "(" regex += string(NONCAPLPAREN_CHAR)
startSlc := intToSlc(rg.start) startSlc := intToSlc(rg.start)
endSlc := intToSlc(rg.end) endSlc := intToSlc(rg.end)
if len(startSlc) != len(endSlc) { if len(startSlc) != len(endSlc) {
panic("Ranges have unequal lengths.") return "", fmt.Errorf("Error parsing numeric range")
} }
for i := range startSlc { for i := range startSlc {
if startSlc[i] == endSlc[i] { if startSlc[i] == endSlc[i] {

Loading…
Cancel
Save