[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00757] Re: エラーメッセージの件
- Subject: [FDclone-users:00757] Re: エラーメッセージの件
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Mon, 31 Mar 2008 00:55:36 +0900
しらいです。
In Message-Id <20080330232457072724.739c1228@isis.ocn.ne.jp>
yuji tamura <yuji@isis.ocn.ne.jp>さんwrites:
> こんばんは田村です。
> これは以前に検証用に作った、やつを展開したものですね、ディレクトリの内
> 容は全て 0 になってます。以前に送ったものと同じものですが念のためにも
> う一度送って見ます。ディレクトリエントリーの数が影響するかも知れないと
> の事でしたので、/ の下に Users2 と言うディレクトリを作って検証してま
> す。
[FDclone-users:00620] でしょうか。試しにこの tar ball の中
身で検証してみたら malloc() の件は再現したので、それに対する
patch を作成しました。
画面サイズに依存するので、95x45 という田村さんと同じ環境に
しないと再現しません。たまたま filename の最後が途切れた時に
文字数を数え間違えていたのです。
画面がおかしくなる件もこの patch で解消してくれればいいの
ですが、こっちはどうにも再現しそうにありませんでした。
---- Cut Here ----
diff -u ../old/FD-2.09h/libc.c ./libc.c
--- ../old/FD-2.09h/libc.c Sat Mar 15 00:00:00 2008
+++ ./libc.c Mon Mar 31 00:40:48 2008
@@ -628,8 +628,8 @@
while (i < *lenp && s2[j]) {
if (iskanji1(s2, j)) {
- i += snprintf2(&(s1[i]), *lenp - i + 1,
- "%.2s", &(s2[j]));
+ snprintf2(&(s1[i]), *lenp - i + 1, "%.2s", &(s2[j]));
+ i += strlen(&(s1[i]));
j += 2;
continue;
}
@@ -642,13 +642,15 @@
else if (isskana(s2, j)) /*EMPTY*/;
#endif
else if (iscntrl2(s2[j])) {
- i += snprintf2(&(s1[i]), *lenp - i + 1,
+ snprintf2(&(s1[i]), *lenp - i + 1,
"^%c", (s2[j++] + '@') & 0x7f);
+ i += strlen(&(s1[i]));
continue;
}
else if (ismsb(s2[j])) {
- i += snprintf2(&(s1[i]), *lenp - i + 1,
+ snprintf2(&(s1[i]), *lenp - i + 1,
"\\%03o", s2[j++] & 0xff);
+ i += strlen(&(s1[i]));
continue;
}
s1[i++] = s2[j++];
---- Cut Here ----
しらい たかし