Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

12345678910111213141516171819202122232425
  1. // Copyright (c) 2021 Shivaram Lingamneni
  2. // Released under the MIT License
  3. package ircutils
  4. import (
  5. "unicode/utf8"
  6. )
  7. // truncate a message, taking care not to make valid UTF8 into invalid UTF8
  8. func TruncateUTF8Safe(message string, byteLimit int) (result string) {
  9. if len(message) <= byteLimit {
  10. return message
  11. }
  12. message = message[:byteLimit]
  13. for i := 0; i < (utf8.UTFMax - 1); i++ {
  14. r, n := utf8.DecodeLastRuneInString(message)
  15. if r == utf8.RuneError && n <= 1 {
  16. message = message[:len(message)-1]
  17. } else {
  18. break
  19. }
  20. }
  21. return message
  22. }