]> git.r.bdr.sh - rbdr/mobius/blobdiff - hotline/file_path.go
Fix failing test, replace use of reflect package with assert
[rbdr/mobius] / hotline / file_path.go
index 97ce417e484550202cfb1b4da284ce57ef7c2ef7..f4a27cc587b9c89f876ba7593adac1323573c350 100644 (file)
@@ -5,6 +5,7 @@ import (
        "bytes"
        "encoding/binary"
        "errors"
+       "fmt"
        "io"
        "path/filepath"
        "strings"
@@ -101,7 +102,7 @@ func (fp *FilePath) Len() uint16 {
        return binary.BigEndian.Uint16(fp.ItemCount[:])
 }
 
-func readPath(fileRoot string, filePath, fileName []byte) (fullPath string, err error) {
+func ReadPath(fileRoot string, filePath, fileName []byte) (fullPath string, err error) {
        var fp FilePath
        if filePath != nil {
                if _, err = fp.Write(filePath); err != nil {
@@ -119,6 +120,9 @@ func readPath(fileRoot string, filePath, fileName []byte) (fullPath string, err
                subPath,
                filepath.Join("/", string(fileName)),
        )
-
+       fullPath, err = txtDecoder.String(fullPath)
+       if err != nil {
+               return "", fmt.Errorf("invalid filepath encoding: %w", err)
+       }
        return fullPath, nil
 }