File: strings.go

package info (click to toggle)
golang-github-aws-smithy-go 1.19.0-1~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 2,680 kB
  • sloc: java: 15,917; xml: 166; sh: 131; makefile: 66
file content (25 lines) | stat: -rw-r--r-- 609 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package rulesfn

// Substring returns the substring of the input provided. If the start or stop
// indexes are not valid for the input nil will be returned. If errors occur
// they will be added to the provided [ErrorCollector].
func SubString(input string, start, stop int, reverse bool) *string {
	if start < 0 || stop < 1 || start >= stop || len(input) < stop {
		return nil
	}

	for _, r := range input {
		if r > 127 {
			return nil
		}
	}

	if !reverse {
		v := input[start:stop]
		return &v
	}

	rStart := len(input) - stop
	rStop := len(input) - start
	return SubString(input, rStart, rStop, false)
}