Gauche > Archives > 2016/05/10

2016/05/10 00:28:11 UTCenami
#
ここの、1031 行目からのコメントの意図しているところが今ひとつピンとこないのですが、ユーザがどれだけ seek したいかと先読みでどれだけ読んだかは関連しないような… https://github.com/shirok/Gauche/commit/d7ba11bd70a1b4e10e133be80e1392d8debee850#diff-162b52812113d09b5839a599d5607d7dR1031
#
特に、o が負の場合は常にこちらの then 節に落ちてくると思いますが、seek で戻るのは regular file ならそう特殊な操作でもないかと。
2016/05/10 03:25:09 UTCshiro
#
あーここのチェックではなぜかoを先頭からの絶対値と思い込んでたみたいだなあ。
#
やりたかったのは先読み分が本当に先読みになってなくて(コード的にはUNGETCで読んでない文字を戻せちゃうので)、先読み分考慮したら絶対オフセットがマイナスになっちゃった、ってケースを予防したかったんだけど、先読み分の考慮が必要なのはSEEK_CURだけだし、その場合オフセットがアンダーフローしたかどうかはすぐにはわからないので、チェックは諦めた方がいいかも(どうせ下位のコールでエラーが上がるし)
2016/05/10 03:55:44 UTCenami
#
あー、なるほど。そういうことですか。ungetc/b は確かに厄介ですね。