shithub: furgit

ref: 3ce59c3248dec0eb0f918c42f37f53bc2ac20425
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])
}