== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s article > dsimcha wrote: > > == Quote from Jeremie Pelletier (jerem...@gmail.com)'s article > >> dsimcha wrote: > >>> Does anyone know how to work with huge (2GB+) files in D2? std.stream has > >>> overflow bugs (I haven't isolated them yet) and can't return their size > >>> correctly, std.stdio.File throws a ConvOverflowError in seek() because > >>> fseek() > >>> apparently takes an int when it should take a long, and std.file only > >>> supports > >>> reading the whole file, which I can't do in 2GB address space. > >>> > >>> It appears none of the file I/O on Phobos has been tested on huge files > >>> (until > >>> now). > >> What platform are you using? You should report your issue on bugzilla. > >> I had similar issues on windows when using stdio's fseek and ftell, I > >> had no problems using GetFilePointerEx, you could try that while it is > >> fixed. > >> Jeremie > > > > Mostly Linux. Everything seems to be working on Windows, though I haven't > > tested > > it that thoroughly. I will file Bugzillas eventually, but I'm still trying > > to > > understand some of these issues, i.e. to what extent they're limitations > > vs. real > > bugs. > > > > What I'm really interested in knowing is: > > > > 1. To what extent is the fact that working with 2GB+ files a platform > > limitation > > rather than a real bug? (I vaguely understand that it has to do with files > > being > > indexed by signed ints, but I don't know the details of how it's > > implemented on > > each platform and what is different between platforms.) > > > > 2. Does anyone know of a method of doing file I/O in D2 that is > > well-tested with > > files above 2GB? > No, but I'd be glad to fix any bugs you may find in std.stdio. I fixed a > couple myself, but it looks there are more to go. > Andrei
Yeah, I've filed a few Bugzillas. I really didn't anticipate large file support not being there and need it badly pronto, but would be willing to help out to make that happen.