[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchFan 00325] Re: はじめまして



ryukです


On Fri, 18 Aug 2000 22:13:35 +0900
KAKKO GGB01334@nifty.ne.jp wrote:

> 試させて頂きました。
> ファイル選択も縦書き表示もとっても良いと思います。
ありがとうございます(^^

> これで猫の目ビュアはお払い箱にされちゃうかな(;_;)。
私は猫の目ビュアとは棲み分けできると考えていたのですが・・・
猫の目の軽くて小さくて見やすい半改行表示と
VHViewのちょい重くて大きくて多彩な表示モードってことで・・・

> ファイル選択で16文字ぎりぎりまで使ったファイル名では表示が
> 変になります。これは16文字のファイル名では文字列の最後に
> 0x00を付けてくれないためで、自分で文字列のターミネータ(0x00)
> を付ける必要があると思います。
バグの報告ありがとうございます。横着してgetent()が返した構造体のメンバを
そのままtext_put_stringにつっこんだのがまずかったんですね。早速修正しまし
た。

> もう1つは最終ページまで行って、前ページに戻ると最初の表示文
> 字が化けます。これは、EOFまでいくと、変な文字がバッファリ
> ングされてしまうようなので、fgetc()などで、フラッシュ処理をす
> ることでOKになるのではないかと思います。
最終ページ云々は、こちらでは再現しなかったので、何とも言えないのですが、
fgetc()をシーク前に行うようにしたらこちらで調べていた別の文字化けの不具合
が解消されました。
改行コードがCRのみのテキストでは最終ページでなくても先頭の文字が特定位置
で化けることがあったのでいろいろと調べていたのですが(そしてドツボにはまっ
てたのですが)、 ungetcの直後に clearerr、fseekと処理するとポインタが1バ
イトずれるようで、ページ先頭を漢字の第二バイトにあわせてくれていたようで
す (^^; fgetc、 clearerr、 fseekと処理するようにしたらうまく行きました。
もしかしたら最終ページから戻ると化けるのは、最終−2ページ目か、最終−1
ページ目を解析する直前に表示していたページの最後がungetcを使いっぱなしだ
ったのが原因ではないかと思います。

では

修正・機能追加版 http://www.interq.or.jp/earth/ryuk/VHV005.ZIP

============================
 ryuk

 ryuk@earth.interq.or.jp
 ryuk@ezb.ido.ne.jp
============================


ML Archives