digitalmars.D.bugs - =?UTF-8?B?W0lzc3VlIDE4MDE3XSBOZXc6IEZpbGUuc2l6ZSgpIHVzZXMgYSAz?=
- d-bugmail puremagic.com (26/26) Nov 28 2017 https://issues.dlang.org/show_bug.cgi?id=18017
https://issues.dlang.org/show_bug.cgi?id=18017 Issue ID: 18017 Summary: File.size() uses a 32-bit signed integer for size internally (gives wrong results for files over ≈2.1 GB) Product: D Version: D2 Hardware: x86_64 OS: Windows Status: NEW Severity: enhancement Priority: P1 Component: phobos Assignee: nobody puremagic.com Reporter: issues.dlang.org.kq.ajsx krzaq.cc I think the code should say it all: void main(string[] args) { import std.stdio; // assume C:\code\foo.raw is 2147483648 bytes big (INT_MAX+1), for example // dd if=/dev/zero of=/cygdrive/c/code/foo.raw bs=65536 count=32768 auto f = File("C:\\code\\foo.raw"); assert(f.size == 18446744071562067968u); // dd if=/dev/zero of=/cygdrive/c/code/foo.raw bs=65536 count=32768 } --
Nov 28 2017