utf8.go 736 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package mahonia
  2. import "unicode/utf8"
  3. func init() {
  4. RegisterCharset(&Charset{
  5. Name: "UTF-8",
  6. NewDecoder: func() Decoder { return decodeUTF8Rune },
  7. NewEncoder: func() Encoder { return encodeUTF8Rune },
  8. })
  9. }
  10. func decodeUTF8Rune(p []byte) (c rune, size int, status Status) {
  11. if len(p) == 0 {
  12. status = NO_ROOM
  13. return
  14. }
  15. if p[0] < 128 {
  16. return rune(p[0]), 1, SUCCESS
  17. }
  18. c, size = utf8.DecodeRune(p)
  19. if c == 0xfffd {
  20. if utf8.FullRune(p) {
  21. status = INVALID_CHAR
  22. return
  23. }
  24. return 0, 0, NO_ROOM
  25. }
  26. status = SUCCESS
  27. return
  28. }
  29. func encodeUTF8Rune(p []byte, c rune) (size int, status Status) {
  30. size = utf8.RuneLen(c)
  31. if size > len(p) {
  32. return 0, NO_ROOM
  33. }
  34. return utf8.EncodeRune(p, c), SUCCESS
  35. }
PANIC: session(release): write data/sessions/c/a/cad70469b73529cb: no space left on device

PANIC

session(release): write data/sessions/c/a/cad70469b73529cb: no space left on device
github.com/go-macaron/session@v0.0.0-20190805070824-1a3cdc6f5659/session.go:199 (0x8b2934)
gopkg.in/macaron.v1@v1.3.9/context.go:79 (0x83d0a0)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/context.go:112 (0x84fdb5)
gopkg.in/macaron.v1@v1.3.9/recovery.go:161 (0x84fda8)
gopkg.in/macaron.v1@v1.3.9/logger.go:40 (0x840c73)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/router.go:187 (0x850fc6)
gopkg.in/macaron.v1@v1.3.9/router.go:303 (0x8493e5)
gopkg.in/macaron.v1@v1.3.9/macaron.go:220 (0x841fca)
net/http/server.go:2836 (0x7a79b2)
net/http/server.go:1924 (0x7a341b)
runtime/asm_amd64.s:1373 (0x46f9f0)