aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorJeff Halter <868228+jhalter@users.noreply.github.com>2025-06-26 14:01:22 -0700
committerJeff Halter <868228+jhalter@users.noreply.github.com>2025-06-26 14:01:22 -0700
commit55b8e77c409761639e95168c77dc22c13e858b6b (patch)
treebf2be552503c2674654f77adf9f5941c62d20668 /internal
parent5ec29c573bde2417b5d8788966af2577332ce0fc (diff)
Replace filepath.Join with path.Join for Windows compatibility
Replace all instances of filepath.Join with path.Join across the codebase to improve Windows compatibility following the guidance from https://github.com/golang/go/issues/44305. Key changes: - Replaced filepath.Join with path.Join in 14 files - Updated import statements appropriately - Resolved variable shadowing issues where function parameters named 'path' were conflicting with the path package - Maintained filepath imports where needed for OS-specific functions like filepath.Walk, filepath.IsAbs, filepath.Dir, and filepath.Base All tests pass, confirming the changes maintain functionality while improving cross-platform compatibility.
Diffstat (limited to 'internal')
-rw-r--r--internal/mobius/account_manager.go12
-rw-r--r--internal/mobius/ban.go4
-rw-r--r--internal/mobius/ban_test.go8
-rw-r--r--internal/mobius/threaded_news_test.go4
-rw-r--r--internal/mobius/transaction_handlers.go3
5 files changed, 15 insertions, 16 deletions
diff --git a/internal/mobius/account_manager.go b/internal/mobius/account_manager.go
index 72984b7..2558d3a 100644
--- a/internal/mobius/account_manager.go
+++ b/internal/mobius/account_manager.go
@@ -37,7 +37,7 @@ func NewYAMLAccountManager(accountDir string) (*YAMLAccountManager, error) {
accounts: make(map[string]hotline.Account),
}
- matches, err := filepath.Glob(filepath.Join(accountDir, "*.yaml"))
+ matches, err := filepath.Glob(path.Join(accountDir, "*.yaml"))
if err != nil {
return nil, fmt.Errorf("list account files: %w", err)
}
@@ -77,7 +77,7 @@ func (am *YAMLAccountManager) Create(account hotline.Account) error {
// Create account file, returning an error if one already exists.
file, err := os.OpenFile(
- filepath.Join(am.accountDir, path.Join("/", account.Login+".yaml")),
+ path.Join(am.accountDir, path.Join("/", account.Login+".yaml")),
os.O_CREATE|os.O_EXCL|os.O_WRONLY, 0644,
)
if err != nil {
@@ -107,8 +107,8 @@ func (am *YAMLAccountManager) Update(account hotline.Account, newLogin string) e
// If the login has changed, rename the account file.
if account.Login != newLogin {
err := os.Rename(
- filepath.Join(am.accountDir, path.Join("/", account.Login)+".yaml"),
- filepath.Join(am.accountDir, path.Join("/", newLogin)+".yaml"),
+ path.Join(am.accountDir, path.Join("/", account.Login)+".yaml"),
+ path.Join(am.accountDir, path.Join("/", newLogin)+".yaml"),
)
if err != nil {
return fmt.Errorf("error renaming account file: %w", err)
@@ -124,7 +124,7 @@ func (am *YAMLAccountManager) Update(account hotline.Account, newLogin string) e
return err
}
- if err := os.WriteFile(filepath.Join(am.accountDir, newLogin+".yaml"), out, 0644); err != nil {
+ if err := os.WriteFile(path.Join(am.accountDir, newLogin+".yaml"), out, 0644); err != nil {
return fmt.Errorf("error writing account file: %w", err)
}
@@ -161,7 +161,7 @@ func (am *YAMLAccountManager) Delete(login string) error {
am.mu.Lock()
defer am.mu.Unlock()
- err := os.Remove(filepath.Join(am.accountDir, path.Join("/", login+".yaml")))
+ err := os.Remove(path.Join(am.accountDir, path.Join("/", login+".yaml")))
if err != nil {
return fmt.Errorf("delete account file: %v", err)
}
diff --git a/internal/mobius/ban.go b/internal/mobius/ban.go
index e73b14a..781052b 100644
--- a/internal/mobius/ban.go
+++ b/internal/mobius/ban.go
@@ -4,7 +4,7 @@ import (
"fmt"
"gopkg.in/yaml.v3"
"os"
- "path/filepath"
+ "path"
"sync"
"time"
)
@@ -64,7 +64,7 @@ func (bf *BanFile) Add(ip string, until *time.Time) error {
return fmt.Errorf("marshal yaml: %v", err)
}
- err = os.WriteFile(filepath.Join(bf.filePath), out, 0644)
+ err = os.WriteFile(path.Join(bf.filePath), out, 0644)
if err != nil {
return fmt.Errorf("write file: %v", err)
}
diff --git a/internal/mobius/ban_test.go b/internal/mobius/ban_test.go
index f03f214..1bf68a4 100644
--- a/internal/mobius/ban_test.go
+++ b/internal/mobius/ban_test.go
@@ -4,7 +4,7 @@ import (
"fmt"
"github.com/stretchr/testify/assert"
"os"
- "path/filepath"
+ "path"
"sync"
"testing"
"time"
@@ -26,9 +26,9 @@ func TestNewBanFile(t *testing.T) {
}{
{
name: "Valid path with valid content",
- args: args{path: filepath.Join(cwd, "test", "config", "Banlist.yaml")},
+ args: args{path: path.Join(cwd, "test", "config", "Banlist.yaml")},
want: &BanFile{
- filePath: filepath.Join(cwd, "test", "config", "Banlist.yaml"),
+ filePath: path.Join(cwd, "test", "config", "Banlist.yaml"),
banList: map[string]*time.Time{"192.168.86.29": &testTime},
},
wantErr: assert.NoError,
@@ -55,7 +55,7 @@ func TestAdd(t *testing.T) {
defer os.RemoveAll(tmpDir) // Clean up the temporary directory.
// Path to the temporary ban file.
- tmpFilePath := filepath.Join(tmpDir, "banfile.yaml")
+ tmpFilePath := path.Join(tmpDir, "banfile.yaml")
// Initialize BanFile.
bf := &BanFile{
diff --git a/internal/mobius/threaded_news_test.go b/internal/mobius/threaded_news_test.go
index dd06a28..7f5cdaa 100644
--- a/internal/mobius/threaded_news_test.go
+++ b/internal/mobius/threaded_news_test.go
@@ -5,7 +5,7 @@ import (
"github.com/jhalter/mobius/hotline"
"github.com/stretchr/testify/assert"
"os"
- "path/filepath"
+ "path"
"sync"
"testing"
)
@@ -164,7 +164,7 @@ func TestThreadedNewsYAML_CreateGrouping(t *testing.T) {
defer os.RemoveAll(tmpDir) // Clean up the temporary directory.
// Path to the temporary ban file.
- tmpFilePath := filepath.Join(tmpDir, "ThreadedNews.yaml")
+ tmpFilePath := path.Join(tmpDir, "ThreadedNews.yaml")
type fields struct {
ThreadedNews hotline.ThreadedNews
diff --git a/internal/mobius/transaction_handlers.go b/internal/mobius/transaction_handlers.go
index c03704a..6553887 100644
--- a/internal/mobius/transaction_handlers.go
+++ b/internal/mobius/transaction_handlers.go
@@ -10,7 +10,6 @@ import (
"math/big"
"os"
"path"
- "path/filepath"
"strings"
"time"
@@ -453,7 +452,7 @@ func HandleNewFolder(cc *hotline.ClientConn, t *hotline.Transaction) (res []hotl
}
for _, pathItem := range newFp.Items {
- subPath = filepath.Join("/", subPath, string(pathItem.Name))
+ subPath = path.Join("/", subPath, string(pathItem.Name))
}
}
newFolderPath := path.Join(cc.FileRoot(), subPath, folderName)