mirror of
https://github.com/mjl-/mox.git
synced 2025-06-27 22:28:16 +03:00

Mostly using slice.Sort, using min/max, slices.Concat, range of int and fmt.Appendf for byte slices instead of strings.
22 lines
414 B
Go
22 lines
414 B
Go
package mox
|
|
|
|
// TXTStrings returns a TXT record value as one or more quoted strings, each max
|
|
// 100 characters. In case of multiple strings, a multi-line record is returned.
|
|
func TXTStrings(s string) string {
|
|
if len(s) <= 100 {
|
|
return `"` + s + `"`
|
|
}
|
|
|
|
r := "(\n"
|
|
for len(s) > 0 {
|
|
n := min(len(s), 100)
|
|
if r != "" {
|
|
r += " "
|
|
}
|
|
r += "\t\t\"" + s[:n] + "\"\n"
|
|
s = s[n:]
|
|
}
|
|
r += "\t)"
|
|
return r
|
|
}
|