Thread overview |
---|
August 27, 2007 [Issue 1442] New: std.file.read returns truncated data on OS X if line ends are not Unix | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=1442 Summary: std.file.read returns truncated data on OS X if line ends are not Unix Product: DGCC aka GDC Version: 0.24 Platform: Macintosh OS/Version: Mac OS X Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: dvdfrdmn@users.sf.net ReportedBy: fire_void@hotmail.com The following test program shows how I am able to reproduce the error on my system. It happens everytime the program is run. ------------ testd.d ------------ import std.file; import std.stdio; void main() { char[] contents = cast(char[]) std.file.read("test_file.txt"); writefln( contents ); } -------------- test_file.txt -------------- name = dunzip [dunzip.d] target = dunzip If you type the contents of test_file.txt, it will work. It only fails when the line ending is not that of OS X. My procedure to reproduce was the following: (it would have been easier to upload the text file but i can't upload stuff here...) * go to http://www.dsource.org/projects/dsss/wiki/DSSSByExample, copy the contents of the file depicted above * paste them in either smultron or textedit. save the file to "test_file.txt" next to the executable. * run the executable. it prints only "target = HelloWorld". * In smultron, if i then select "Text > Line Ending > Unix" and save, running the program now gives correct line endings. The read method should load the data with whatever line endings the file contains, however it should not truncate data, especially not when the same file opens correctly in all OS X text editors. The following code was tested on OS X 10.4.10, PPC, G4 (32-bits). It ran correctly when the same procedure was done in Linux. -- |
August 27, 2007 [Issue 1442] std.file.read returns truncated data on OS X if line ends are not Unix | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1442 ------- Comment #1 from fire_void@hotmail.com 2007-08-26 19:06 ------- Created an attachment (id=171) --> (http://d.puremagic.com/issues/attachment.cgi?id=171&action=view) An example of file that causes problem (Ah you can post atatchements after the initial post) Attached is a file that shows the problem -- |
August 29, 2007 [Issue 1442] std.file.read returns truncated data on OS X if line ends are not Unix | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1442 dvdfrdmn@users.sf.net changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #2 from dvdfrdmn@users.sf.net 2007-08-28 19:14 ------- Phobos is not truncating the data. What you are seeing is overtyping done by the terminal software. If you run the 'cat' program on the file, it will produce the same result. std.file.read just returns an array of bytes and should not perform any kind of translation. -- |
Copyright © 1999-2021 by the D Language Foundation