If a write extends past EOF the file is extended, however the contents of the new part of the file are undefined unless overwritten.
Is there any way for an application to query the filing system to see if it guarantees to write zeros to the new part of the file without the new part needing to be overwritten, or does it have to assume the worst in order to be compatible with all filing systems?
DFS on the Master, at least, seems to write zeros anyway. although I must admit I'm a little bit confused here. The attached screenshot shows my test. If I subsequently *DUMP the file, I can see everything from &100 on is zero. But I don't understand why the BGET# doesn't return an EOF error. I appreciate this is an odd sequence of operations to do in the first place, but I'd still like to understand it.
Edited to add: Actually I guess I've mixed things up slightly here with my test - I suspect BASIC's BGET# is not using OSGBPB. But I guess the same principle applies; I have some code which I can't conveniently post here which does actually use OSGBPB to extend a file and which shows the file being zero-extended on the Master DFS.