Milan Vandrovec created FLEX-33560: -------------------------------------- Summary: FileStream position is updated incorrectly in FileMode.APPEND mode Key: FLEX-33560 URL: https://issues.apache.org/jira/browse/FLEX-33560 Project: Apache Flex Issue Type: Bug Affects Versions: Adobe Flex SDK 3.6 (Release) Environment: 1. in debugger of FlexBuilder 3 2. compiled, with AIR 3.6.0, 3.7.0 Reporter: Milan Vandrovec
When writing to a FileStream so that the new position would be a multiple of 4096, the position is increased twice (writing a byte advances from 4095 to 4097, writing 512 bytes advances from 3584 to 4608). Sample code: var cnt: int; var logfile: File=new File("c:/demo.txt"); var logstream: FileStream=new FileStream(); logstream.open(logfile, FileMode.WRITE); logstream.close(); logstream.open(logfile, FileMode.APPEND); for (cnt=0; cnt<4096-2; cnt++) logstream.writeByte(0x41); trace(logstream.position); logstream.writeByte(0x42); trace(logstream.position); logstream.writeByte(0x43); trace(logstream.position); logstream.writeByte(0x44); trace(logstream.position); logstream.close(); var x512: ByteArray=new ByteArray(); for (cnt=0; cnt<512; cnt++) x512.writeByte(0x41); x512.position=0; logstream.open(logfile, FileMode.WRITE); logstream.close(); logstream.open(logfile, FileMode.APPEND); for (cnt=0; cnt<7; cnt++) logstream.writeBytes(x512); trace(logstream.position); //now at 4096-512 logstream.writeBytes(x512); trace(logstream.position); //now at 4096+512 logstream.close(); Actual output: 4094 4095 4097 4098 --- 3584 4608 Expected output: 4094 4095 4096 4097 --- 3584 4096 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira