build: fix govet lint errors with golangci-lint v1.60.1

There were a lot of instances of this lint error

    printf: non-constant format string in call to github.com/rclone/rclone/fs.Logf (govet)

Which were fixed by re-arranging the arguments and adding "%s".

There were quite a few genuine bugs which were found too.
This commit is contained in:
Nick Craig-Wood 2024-08-14 18:19:36 +01:00
parent 83613634f9
commit 61b27cda80
12 changed files with 27 additions and 17 deletions

View file

@ -1927,7 +1927,7 @@ func (f *Fs) PublicLink(ctx context.Context, remote string, expire fs.Duration,
return shareURL, nil
}
cnvFailMsg := "Don't know how to convert share link to direct link - returning the link as is"
const cnvFailMsg = "Don't know how to convert share link to direct link - returning the link as is"
directURL := ""
segments := strings.Split(shareURL, "/")
switch f.driveType {

View file

@ -635,7 +635,7 @@ func (f *Fs) setQuirks(ctx context.Context, vendor string) error {
odrvcookie.NewRenew(12*time.Hour, func() {
spCookies, err := spCk.Cookies(ctx)
if err != nil {
fs.Errorf("could not renew cookies: %s", err.Error())
fs.Errorf(nil, "could not renew cookies: %s", err.Error())
return
}
f.srv.SetCookie(&spCookies.FedAuth, &spCookies.RtFa)

View file

@ -116,7 +116,7 @@ func newFsFileAddFilter(remote string) (fs.Fs, string) {
if !fi.InActive() {
err := fmt.Errorf("can't limit to single files when using filters: %v", remote)
err = fs.CountError(err)
log.Fatalf(err.Error())
log.Fatal(err.Error())
}
// Limit transfers to this file
err := fi.AddFile(fileName)

View file

@ -104,7 +104,7 @@ func cryptCheck(ctx context.Context, fdst, fsrc fs.Fs) error {
}
if cryptHash != underlyingHash {
err = fmt.Errorf("hashes differ (%s:%s) %q vs (%s:%s) %q", fdst.Name(), fdst.Root(), cryptHash, fsrc.Name(), fsrc.Root(), underlyingHash)
fs.Errorf(src, err.Error())
fs.Errorf(src, "%s", err.Error())
return true, false, nil
}
return false, false, nil

View file

@ -243,13 +243,13 @@ func (cds *contentDirectoryService) Handle(action string, argsXML []byte, r *htt
}
obj, err := cds.objectFromID(browse.ObjectID)
if err != nil {
return nil, upnp.Errorf(upnpav.NoSuchObjectErrorCode, err.Error())
return nil, upnp.Errorf(upnpav.NoSuchObjectErrorCode, "%s", err.Error())
}
switch browse.BrowseFlag {
case "BrowseDirectChildren":
objs, err := cds.readContainer(obj, host)
if err != nil {
return nil, upnp.Errorf(upnpav.NoSuchObjectErrorCode, err.Error())
return nil, upnp.Errorf(upnpav.NoSuchObjectErrorCode, "%s", err.Error())
}
totalMatches := len(objs)
objs = objs[func() (low int) {

View file

@ -12,14 +12,25 @@ type logger struct{}
// print log message
func (l logger) Print(level gofakes3.LogLevel, v ...interface{}) {
var s string
if len(v) == 0 {
s = ""
} else {
var ok bool
s, ok = v[0].(string)
if !ok {
s = fmt.Sprint(v[0])
}
v = v[1:]
}
switch level {
default:
fallthrough
case gofakes3.LogErr:
fs.Errorf("serve s3", fmt.Sprintln(v...))
fs.Errorf("serve s3", s, v...)
case gofakes3.LogWarn:
fs.Infof("serve s3", fmt.Sprintln(v...))
fs.Infof("serve s3", s, v...)
case gofakes3.LogInfo:
fs.Debugf("serve s3", fmt.Sprintln(v...))
fs.Debugf("serve s3", s, v...)
}
}

View file

@ -3,7 +3,6 @@ package s3
import (
"context"
"encoding/hex"
"fmt"
"io"
"os"
"path"
@ -127,7 +126,7 @@ func authlistResolver(list []string) map[string]string {
for _, v := range list {
parts := strings.Split(v, ",")
if len(parts) != 2 {
fs.Infof(nil, fmt.Sprintf("Ignored: invalid auth pair %s", v))
fs.Infof(nil, "Ignored: invalid auth pair %s", v)
continue
}
authList[parts[0]] = parts[1]

View file

@ -154,7 +154,7 @@ func TestCmdTest(t *testing.T) {
// Test simple call and output from rclone
out, err := rclone("version")
t.Logf("rclone version\n" + out)
t.Log("rclone version\n" + out)
if assert.NoError(t, err) {
assert.Contains(t, out, "rclone v")
assert.Contains(t, out, "version: ")
@ -208,7 +208,7 @@ func TestCmdTest(t *testing.T) {
// Test access to config file and simple test data
out, err = rclone("lsl", "myLocal:"+testFolder)
t.Logf("rclone lsl myLocal:testFolder\n" + out)
t.Log("rclone lsl myLocal:testFolder\n" + out)
if assert.NoError(t, err) {
assert.Contains(t, out, "rclone.config")
assert.Contains(t, out, "testdata/folderA/fileA1.txt")

View file

@ -568,7 +568,7 @@ func DeleteFileWithBackupDir(ctx context.Context, dst fs.Object, backupDir fs.Fs
fs.Errorf(dst, "Couldn't %s: %v", action, err)
err = fs.CountError(err)
} else if !skip {
fs.Infof(dst, actioned)
fs.Infof(dst, "%s", actioned)
}
return err
}

View file

@ -507,7 +507,7 @@ func rcRunCommand(ctx context.Context, in Params) (out Params, err error) {
var httpResponse http.ResponseWriter
httpResponse, err = in.GetHTTPResponseWriter()
if err != nil {
return nil, fmt.Errorf("response object is required\n" + err.Error())
return nil, fmt.Errorf("response object is required\n%w", err)
}
var allArgs = []string{}

View file

@ -104,7 +104,7 @@ func bodyToString(responseBody io.Reader) (bodyString string, err error) {
return "", err
}
bodyString = string(bodyBytes)
fs.Debugf(nil, "jwtutil: Response Body: "+bodyString)
fs.Debugf(nil, "jwtutil: Response Body: %q", bodyString)
return bodyString, nil
}

View file

@ -33,5 +33,5 @@ func ReadPassword(fd int) ([]byte, error) {
// WriteTerminalTitle writes a string to the terminal title
func WriteTerminalTitle(title string) {
fmt.Printf(ChangeTitle + title + BEL)
fmt.Print(ChangeTitle + title + BEL)
}