[netatalk-ja:0135] Re: 3.0.2でPhotoshop CS5で濁音のファイルがセーブできない

Hiroyuki Sato hiroysato @ gmail.com
2013年 4月 2日 (火) 03:04:51 JST


HATさん

ご連絡をありがとうございます。
of_allocを先に片付けるということで了解です。

直してみたんですが、修正前と比べてとても遅い気がします。

utf8_encoding(vol->v_obj) という部分が遅いのかな?と思って該当箇所を1に変えましたが速度はあまり変わりませんでした。
utf8_encoding..の部分は他のソースを参考に真似しました。

引き続き調べます。すいません。今週はあまり時間を割けなそうです。


2013年4月1日 22:44 HAT <hat @ fa2.so-net.ne.jp>:

> HATです。
>
> > convert_stringの使い方がいまいち良くわかりませんが、
> > 添付のパッチでどうでしょうか?
> > なお、developブランチで作業しました。
> >
> > 一応削除できるようになったと思います。
>
> 動作確認してませんが、ちょっとみたところでは問題アリです。
> convert_string_allocate()は単純な文字コード変換しかしないので、
> Unix側のファイルシステム上の名前と一致しないケースがあります。
> たぶんファイル名に「/」が含まれている場合にエラーになるんじゃないでしょうか。
> Mac側が要求してくるファイル名はmangleされているケースもあるので、
> demangleの処理も必要になります。
>
> あと、元の文字コードをCH_UTF8_MACに固定しているのが気になります。
> クライアントがMac OS 9以前だとすると、ここは旧mac charsetになっている
> はずです。
>
> ただ、AFP2.1/2.2のドキュメントを確認すると、
> http://www.jammed.com/~jwa/hacks/security/asip/ASAppleTalkFiling2.1_2.2.pdf
> FPSetForkParmsコマンドが定義されていません。
> AFP3以降の新コマンドかもしれません。
> だとすると、CH_UTF8_MACに固定しておいて問題ないことになりますが、
> そもそもAppleのドキュメントは信用できないので悩みどころです。
>
> ちょっと考えたところでは、使う関数はetc/afpd/desktop.cの中のmtoupath()が
> 最適だと思います。この関数は、
> demangleの処理が入っており、
> CH_UTF8_MACとvol->v_maccharsetのどちらを使うか判定できて、
> convert_charset()に渡すflagsの処理も行います。
>
> > また、リネームの方は未検証です。
> > テストの仕方がまだわかりません。
>
> 両方同時に修正すると混乱するので、まずof_alloc()だけバグ修正してから、
> of_rename()に手を付けませんか?
> AFP2.1/2.2のドキュメントにFPMoveAndRenameというのがあるので、
> もしかしたらMac OS 9以前もof_rename()を呼び出すかもしれません。
> だとすると、ちゃんとCH_UTF8_MACかどうか判定する必要があります。
>
> --
> HAT
>



-- 
Hiroyuki Sato
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: ofork2.patch
型:         application/octet-stream
サイズ:     738 バイト
説明:       無し
URL:        </mailman/archives/netatalk-ja/attachments/20130402/ffeca66d/attachment.obj>


netatalk-ja メーリングリストの案内