[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00627] Re: 仕切り直します。
- Subject: [FDclone-users:00627] Re: 仕切り直します。
- From: yuji tamura <yuji@isis.ocn.ne.jp>
- Date: Tue, 17 Oct 2006 21:08:19 +0900
こんばんは田村です。
すみません仕事が忙しく沈んでおりました。
ここのところ、ASCII のみのファイル名が消える現象の再現確率
が低いのか、確認できないのですが。
素の fd v2.09 にて、
./fd -FNAMEKCODE=utf8-mac -UNICODEBUFFER=1 '/User2/yuji/Documents/10
blog'
として起動し、日本語を含むファイル名が消えるのを確認する。
以下作業して見ました。
On Mon, 09 Oct 2006 06:42:10 +0900, Takashi SHIRAI wrote:
> [FDclone-users:00610] で libc.c: strdup2() の検証を行なっ
> て貰いましたが、同じことを malloc2() と realloc2() でも行な
> ってみましょう。
> strdup2() の直前に malloc2() と realloc2() の実体がありま
> す。その中に malloc() が二箇所と realloc() が一箇所あります。
> その引数の「size」を「size * 16」くらいに増やしてみましょう。
-----libc.c-----
if (!size || !(tmp = (char *)malloc(size * 16))) {
-----libc.c-----
-----libc.c-----
|| !(tmp = (ptr) ? (char *)realloc(ptr, size * 16) : (char
*)malloc(size * 16)))
{
-----libc.c-----
これで良いのでしょうか?
順番にやって見たのですが、この時点で日本語を含むファイル名が
消える現象は確認できなくなりました。
> strdup2() の下には strndup2() があってこの中にも malloc()
> があるので、この引数も「i * 16 + 1」くらいに増やします。つい
> でに strdup2() の引数も「n * 16 + 1」にしましょう。
-----libc.c-----
if (!(tmp = (char *)malloc((ALLOC_T)i * 16 + 1))) error
-----libc.c-----
-----libc.c-----
if (!(tmp = (char *)malloc((ALLOC_T)n * 16 + 1))) error
-----libc.c-----
こうで良いのでしょうか?
ここまでの作業で、日本語を含むファイル名が消える現象は確認できません。
いろいろな条件にて、確認作業中です。
ただ、これまでの確認作業中に気になる点が何点か、
出てきました。確認して報告します。
---
yuji tamura