s3, googlecloudstorage, azureblob: fix encoding issue with dir path comparison

`remote` has been converted ToStandardPath a few lines above, so `directory`
needs to be converted the same way in order to be compared properly. This was
spotted on `TestBisyncRemoteRemote/extended_filenames` for
`TestS3,directory_markers:` and `TestGoogleCloudStorage,directory_markers:`
which tripped over a directory name containing a Line Feed symbol.
This commit is contained in:
nielash 2024-04-29 03:21:49 -04:00 committed by Nick Craig-Wood
parent 003f4531fe
commit 862d5d6086
3 changed files with 3 additions and 3 deletions

View File

@ -1088,7 +1088,7 @@ func (f *Fs) list(ctx context.Context, containerName, directory, prefix string,
isDirectory := isDirectoryMarker(*file.Properties.ContentLength, file.Metadata, remote) isDirectory := isDirectoryMarker(*file.Properties.ContentLength, file.Metadata, remote)
if isDirectory { if isDirectory {
// Don't insert the root directory // Don't insert the root directory
if remote == directory { if remote == f.opt.Enc.ToStandardPath(directory) {
continue continue
} }
// process directory markers as directories // process directory markers as directories

View File

@ -697,7 +697,7 @@ func (f *Fs) list(ctx context.Context, bucket, directory, prefix string, addBuck
// is this a directory marker? // is this a directory marker?
if isDirectory { if isDirectory {
// Don't insert the root directory // Don't insert the root directory
if remote == directory { if remote == f.opt.Enc.ToStandardPath(directory) {
continue continue
} }
// process directory markers as directories // process directory markers as directories

View File

@ -4065,7 +4065,7 @@ func (f *Fs) list(ctx context.Context, opt listOpt, fn listFn) error {
isDirectory = false isDirectory = false
} else { } else {
// Don't insert the root directory // Don't insert the root directory
if remote == opt.directory { if remote == f.opt.Enc.ToStandardPath(opt.directory) {
continue continue
} }
} }