チケット #38557

read_blocks may return fewer bytes on eof

登録: 2018-08-29 20:27 最終更新: 2018-08-29 20:27

報告者:
担当者:
チケットの種類:
状況:
オープン [担当者決定済み]
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし

詳細

arbitrary_positional_facade.hpp line 325 may result in res less than n at end of file. Specifically this code at lines 330 and 331:

					count_ = block_size_ - n;
					total += n;
leaves count_ with residual bytes when there are none such that a subsequent call to read will return data when no data is available. I believe these should be something along the lines of:
					if (res > n)
					{
						count_ = res - n;
						total += n;
					}
					else
					{
						count_ = 0;
						total += res;
					}
Thus if block size is say 3 and only 2 bytes are read at the end of file there will not be a residual of 1 byte for the next call to read. Rather, the next call will return the expected 0 bytes indicating end of file.

添付ファイルリスト

添付ファイルはありません

チケットの履歴 (1 件中 1 件表示)

2018-08-29 20:27 更新者: nivekkagicom
  • 新しいチケット "read_blocks may return fewer bytes on eof" が作成されました

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする