A webmail client. Forked from https://git.sr.ht/~migadu/alps
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 

40 wiersze
635 B

  1. package koushin
  2. import (
  3. "fmt"
  4. "strconv"
  5. "strings"
  6. )
  7. func parseUid(s string) (uint32, error) {
  8. uid, err := strconv.ParseUint(s, 10, 32)
  9. if err != nil {
  10. return 0, err
  11. }
  12. if uid == 0 {
  13. return 0, fmt.Errorf("UID must be non-zero")
  14. }
  15. return uint32(uid), nil
  16. }
  17. func parsePartPath(s string) ([]int, error) {
  18. if s == "" {
  19. return nil, nil
  20. }
  21. l := strings.Split(s, ".")
  22. path := make([]int, len(l))
  23. for i, s := range l {
  24. var err error
  25. path[i], err = strconv.Atoi(s)
  26. if err != nil {
  27. return nil, err
  28. }
  29. if path[i] <= 0 {
  30. return nil, fmt.Errorf("part num must be strictly positive")
  31. }
  32. }
  33. return path, nil
  34. }