aboutsummaryrefslogtreecommitdiff
path: root/file_path.go
diff options
context:
space:
mode:
authorJeff Halter <868228+jhalter@users.noreply.github.com>2021-07-28 18:21:52 -0700
committerJeff Halter <868228+jhalter@users.noreply.github.com>2021-07-28 14:21:52 -0700
commit22c599abc18895f73e96095f35b71cf3357d41b4 (patch)
tree482ef57d386c955692ea43c43e4655b3c3763499 /file_path.go
parent71c56068adca18f76ebee86355f000a3e51d3127 (diff)
Move code to hotline dir
Diffstat (limited to 'file_path.go')
-rw-r--r--file_path.go56
1 files changed, 0 insertions, 56 deletions
diff --git a/file_path.go b/file_path.go
deleted file mode 100644
index 71168dc..0000000
--- a/file_path.go
+++ /dev/null
@@ -1,56 +0,0 @@
-package hotline
-
-import (
- "encoding/binary"
- "strings"
-)
-
-const pathSeparator = "/" // File path separator TODO: make configurable to support Windows
-
-// FilePathItem represents the file or directory portion of a delimited file path (e.g. foo and bar in "/foo/bar")
-// 00 00
-// 09
-// 73 75 62 66 6f 6c 64 65 72 // "subfolder"
-type FilePathItem struct {
- Len byte
- Name []byte
-}
-
-func NewFilePathItem(b []byte) FilePathItem {
- return FilePathItem{
- Len: b[2],
- Name: b[3:],
- }
-}
-
-type FilePath struct {
- PathItemCount []byte
- PathItems []FilePathItem
-}
-
-func NewFilePath(b []byte) FilePath {
- if b == nil {
- return FilePath{}
- }
-
- fp := FilePath{PathItemCount: b[0:2]}
-
- // number of items in the path
- pathItemLen := binary.BigEndian.Uint16(b[0:2])
- pathData := b[2:]
- for i := uint16(0); i < pathItemLen; i++ {
- segLen := pathData[2]
- fp.PathItems = append(fp.PathItems, NewFilePathItem(pathData[:segLen+3]))
- pathData = pathData[3+segLen:]
- }
-
- return fp
-}
-
-func (fp *FilePath) String() string {
- var out []string
- for _, i := range fp.PathItems {
- out = append(out, string(i.Name))
- }
- return strings.Join(out, pathSeparator)
-}