]> git.r.bdr.sh - rbdr/mobius/blobdiff - hotline/file_transfer.go
Fix intermittently failing banner download
[rbdr/mobius] / hotline / file_transfer.go
index 4a93390457c82a8e9c9f7b1f9f9e4f78f2f24db4..c7c1a62456e4c73162d99bbfdc8b4a2d4246ab43 100644 (file)
@@ -3,7 +3,7 @@ package hotline
 import (
        "encoding/binary"
        "fmt"
-       "strings"
+       "path/filepath"
 )
 
 // File transfer types
@@ -12,6 +12,7 @@ const (
        FileUpload     = 1
        FolderDownload = 2
        FolderUpload   = 3
+       bannerDownload = 4
 )
 
 type FileTransfer struct {
@@ -51,11 +52,12 @@ func (fu *folderUpload) FormattedPath() string {
        var pathSegments []string
        pathData := fu.FileNamePath
 
+       // TODO: implement scanner interface instead?
        for i := uint16(0); i < pathItemLen; i++ {
                segLen := pathData[2]
                pathSegments = append(pathSegments, string(pathData[3:3+segLen]))
                pathData = pathData[3+segLen:]
        }
 
-       return strings.Join(pathSegments, pathSeparator)
+       return filepath.Join(pathSegments...)
 }