file: 'rwtest' mode: 'r' readSync: '' writeSync: '' bufferType: 'full' bufSize: '20' set AAA [string repeat ABCDEFGHIJKLMNOPQRSTUVWXY 4] set 123 [string repeat 1234567890 10] set logFilename rwtest-r---full-20.log set testFilename rwtest-r---full-20.test set fd [open $testFilename {WRONLY APPEND CREAT TRUNC}] puts $fd $AAA puts $fd $123 close $fd set fd [open rwtest-r---full-20.test r+] fconfigure $fd -buffering full -buffersize 1024 foreach num {1 2 3 4 5} { set start [tell $fd] puts -nonewline $fd [string repeat $num 11] set end [tell $fd] set repos [tell $fd] set char [read $fd 1] set final [tell $fd ] puts $logFd "$num start = $start end = $end repos = $repos final = $final char = $char" } close $fd set fd2 [open rwtest-r---full-20.test r ] set contents [read $fd2] close $fd2 puts $logFd \n$contents 1 start = 0 end = 11 repos = 11 final = -1 char = A 2 start = -1 end = -1 repos = -1 final = -1 char = B 3 start = -1 end = -1 repos = -1 final = -1 char = C 4 start = -1 end = -1 repos = -1 final = -1 char = D 5 start = -1 end = -1 repos = -1 final = -1 char = E ABCDEFGHIJKLMNOPQRSTUVWXYABCDEFGHIJKLMNOPQRSTUVWXYABCDEFGHIJKLMNOPQRSTUVWXYABCDEFGHIJKLMNOPQRSTUVWXY 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1111111111122222222222333333333334444444444455555555555