Powered by FC2掲示板

掲示板 - (画像ビューワ「MassiGra」の作者です。)

[ サイト トップ > 掲示板 ]

■ 「Samba 共有フォルダなどで "次の/前のフォルダ" がうまく機能しない場合がある」スレッド

このスレッドへの「返信 投稿フォーム」は、下の方にあります。
手元の環境では Windows 10 1803 にアップグレードしてから再現している問題です。

Samba 4.8.2 によるネットワーク共有で、"#" や "(" などの文字で始まるフォルダから次の/前のフォルダに移動しようとすると、うまく移動できません。この際、表示されるフルパス等には "..\" が含まれます。
例えば、"Z:\sample\1\#001\a.jpg" を表示した状態で次のフォルダへ移動しようとすると、例えば "Z:\sample\1\..\1\#001\a.jpg" が表示されます ("Z:\sample" 内に他のファイルが無い場合)。

プログラムを書いて調べてみたところ、おそらく、"." や ".." より "前に" 位置するフォルダの中からは正常に移動できないようです。Windows 組み込みのファイルシステムならば "." や ".." は FindFirstFile/FindNextFile で検索すると常に先頭に配置されますが、ネットワークファイルシステムを含めるとその仮定は常に正しいわけではなさそうです。
Samba を用いてこの問題を再現する際は、[global] 節に "vfs objects = dirsort" を追加すると再現しやすいかと思われます。

ネットワーク経由で次のフォルダ機能を使うと同じ症状が出ます。
フルパスを見ると\\pc\sample\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\..\
こんな感じにバグっています。
同じく Windows 10 1803 からです。
結構不便なのでバグ修正お願いします。

同じ症状で困っており、情報提供いたします。

最近購入したWindows 10タブレット(Surface Go 2)にMassiGraを入れ、共有フォルダに置いたZIP圧縮画像を見ようとしたところ、一部のフォルダが開けませんでした。
+ 共有フォルダ
 + 作者名 ←このフォルダをMassiGraにドラッグ&ドロップ
  + (作者名)小説タイトル1.zip
  + (作者名)小説タイトル2.zip
  + サムネイル.jpg

開けるフォルダとの違いを調べたところ、ASCIIコード的に"."より小さいファイル名があると駄目でした。つまり"#$%()-"で始まるファイル名はNGです。
スレッドの冒頭に書かれていますが、共有フォルダの場合、ローカルとは異なりFindFirstFile/FindNextFile (NtQueryDirectoryFile) の戻り値が"."からではなくASCIIコード順になったようです。おそらく、MassiGraは戻り値の並び順に依存する実装になっているのではないでしょうか。
この挙動は互換モード設定では変わりませんでした。

Windows 10 1909で直っていませんので、この挙動が元に戻るのは期待薄に思えます。
MassiGra側で対応していただけると嬉しいです。

このフォームは、このスレッドへの返信用フォームです。
新しいスレッドを作成したい場合は、「新規 投稿フォーム」から投稿して下さい。
  • 一般的なマナーを守ってご利用頂くよう、お願い致します。
  • 申し訳ありませんが、管理人が確実に返信するというお約束はできません。
  • HTML タグは使用できません。
  • 「http:」や「https:」は禁止ワードです。 URL を示したい場合は、先頭の h を抜いて「ttp://www.massigra.net/」のように書いて下さい。
  • 名前には、いわゆるトリップ (半角8文字まで) を付けられるようです。
  • FC2掲示板の仕様により、メッセージ本文が英数字だけだと投稿できません。
  • 悪質な投稿と判断された場合、予告無く削除される場合があります。
  • 管理人には、投稿者のホスト名・IP アドレスが分かるようになっているので、ご注意下さい。
名前 (必須)
件名
メッセージ (必須)


Powered by FC2掲示板