mount.go 537 B

123456789101112131415161718192021222324252627
  1. package hackpadfs
  2. import "strings"
  3. func stripErrPathPrefix(err error, name, mountSubPath string) error {
  4. if err == nil {
  5. return err
  6. }
  7. prefix := strings.TrimSuffix(mountSubPath, name)
  8. switch err := err.(type) {
  9. case *PathError:
  10. return &PathError{
  11. Op: err.Op,
  12. Path: strings.TrimPrefix(err.Path, prefix),
  13. Err: err.Err,
  14. }
  15. case *LinkError:
  16. return &LinkError{
  17. Op: err.Op,
  18. Old: strings.TrimPrefix(err.Old, prefix),
  19. New: strings.TrimPrefix(err.New, prefix),
  20. Err: err.Err,
  21. }
  22. default:
  23. return err
  24. }
  25. }