shithub: furgit

ref: df1f2fb3daa1acd25c88510f259d5535fb482126
dir: /ref/name/utils.go/

View raw version
package refname

import (
	"strings"
)

func overwriteLastByte(builder *strings.Builder, ch byte) {
	overwriteBuilderAt(builder, builder.Len()-1, ch)
}

func overwriteBuilderAt(builder *strings.Builder, index int, ch byte) {
	value := builder.String()
	truncateBuilder(builder, index)
	builder.WriteByte(ch)
	builder.WriteString(value[index+1:])
}

func truncateBuilder(builder *strings.Builder, n int) {
	value := builder.String()
	builder.Reset()
	builder.WriteString(value[:n])
}