Commit graph

388 commits

Author SHA1 Message Date
anonymous
994d6b8181 fix issue 15293
ReadlnAppender tried to claim the capacity of the passed buffer, calling
assumeSafeAppend on the result so that on the next call it has a capacity
again that can be claimed.

The obvious problem with that: readln would stomp over memory that it has
not been given.

There was also a subtler problem with it (which caused issue 15293):
When readln wasn't called with the previous line, but with the original
buffer (byLine does that), then the passed buffer had no capacity, so
ReadlnAppender would not assumeSafeAppend when slicing the new line from
it. But without a new assumeSafeAppend, the last one would still be in
effect, possibly on a sub slice of the new line.
2015-11-12 20:06:55 +01:00
anonymous
0bff377c06 fix issue 15095
Add underscores to prevent auto formatting of parameter name "format".
2015-09-21 20:57:41 +02:00
Jamie Mansfield
5e48dbc3fd Follow D conventions in stdio example 2015-09-01 13:41:19 +01:00
Vladimir Panteleev
78a0fb92e9 fix Issue 14949 - Non-descriptive "Enforcement failed" when attempting to write to closed file 2015-08-22 16:28:51 +00:00
Denis.Hlyakin
3a025da7c6 Cleanup for Issue 7648. Add Non-ASCII characters in filename for unittests. 2015-08-18 15:58:12 +03:00
Joakim
10f2081c5e Modify remaining tests that create a temporary file in the local directory to use std.file.deleteme, which writes to /tmp or some other absolute path instead 2015-08-13 07:23:39 -05:00
Rainer Schuetze
6dbae4ad2a add reference to byLine 2015-07-13 23:24:30 +02:00
Rainer Schuetze
e900b2b85b add example to readln with better performance than the basic usage 2015-07-13 22:49:26 +02:00
Dmitry Olshansky
497c463e10 Merge pull request #2794 from rainers/issue13856
Fix Issue 13856 - std.stdio.readln stomps arrays
2015-07-13 18:05:08 +03:00
Rainer Schuetze
cb7bb65a08 remove CR 2015-07-12 10:03:33 +02:00
Walter Bright
3a8539bd5f std.stdio - accept some ranges 2015-06-21 11:58:41 -07:00
anonymous
b28962635f fix package XREFs
Also add escaping underscores in some places, and rewrap to 80 columns
where touching anyway.
2015-06-15 22:30:41 +02:00
Dmitry Olshansky
4567cf6c75 Merge pull request #3258 from CyberShadow/pull-20150505-180120-std-stdio-sync
fix Issue 14548 - std.stdio.File should have sync() method (fsync/FlushF...
2015-06-08 01:18:52 +03:00
Joakim
3352c90c2e Separate linux kernel, glibc, and bionic APIs where appropriate 2015-05-27 21:54:52 -05:00
Walter Bright
8087f35441 Revert "Implement issue# 13996. Add File.tempFile." 2015-05-10 16:22:28 -07:00
Walter Bright
d9a9826e55 Revert "Introducing std.meta package" 2015-05-06 14:36:45 -07:00
Vladimir Panteleev
a5e1ae418a fix Issue 14548 - std.stdio.File should have sync() method (fsync/FlushFileBuffers wrapper) 2015-05-06 09:20:25 +00:00
Dicebot
a76d90c927 Phobos should only mention tuple as std.typecons.Tuple 2015-05-05 22:22:11 +03:00
Dicebot
82f54a38d3 TypeTuple -> MetaList inside Phobos 2015-05-05 22:22:11 +03:00
Dicebot
73f773838d import std.typetuple -> import std.meta 2015-05-05 22:22:10 +03:00
Rainer Schuetze
a0b270a55b comment GC/readlnImpl implementation specific assertions 2015-04-22 23:37:14 +02:00
Rainer Schuetze
bb6dba617a remove readlnAppender from HAS_GETDELIM version, but also bad GC.sizeof optimization 2015-04-22 08:04:21 +02:00
Rainer Schuetze
fc959b05c4 clarify putonly usage by assert 2015-04-21 08:55:35 +02:00
Rainer Schuetze
b9233db8f3 fix merge 2015-04-21 08:55:34 +02:00
Rainer Schuetze
19ac24d4ac update capacity even when shrinking to allow buffer reuse
avoid producing garbage in byLine, making optimization with _d_newarrayU obsolete
2015-04-21 08:55:34 +02:00
Rainer Schuetze
fab889c9f6 replace appender with something similar, but compatible with arrays 2015-04-21 08:55:34 +02:00
Rainer Schuetze
476d2096c3 avoid interference of readln with standard arrays 2015-04-21 08:55:34 +02:00
Steven Schveighoffer
eecc989b2c Merge pull request #3160 from CyberShadow/pull-20150407-122150
fix Issue 14422 - std.process: Pipes do not append to files on Win64
2015-04-09 10:28:18 -04:00
Vladimir Panteleev
b28eb9fab8 fix Issue 14422 - std.process: Pipes do not append to files on Win64 2015-04-07 15:29:12 +00:00
Steven Schveighoffer
4d30c1d15d Merge pull request #3127 from charles-cooper/issue_14368
Fix Issue 14368 - rawRead performance
2015-04-03 13:08:45 -04:00
Charles Cooper
4493008e7a style suggestions 2015-04-01 12:13:09 -07:00
Martin Nowak
8a65ff8db4 Merge pull request #2956 from jmdavis/tempFile
Implement issue# 13996. Add File.tempFile.
2015-03-31 04:43:51 +02:00
Jonathan M Davis
e3e9f2965f Implement issue# 13996. Add File.scratchFile.
This adds a File.scratchFile, which generates a random file name and
returns an open std.stdio.File for it. Unlike with File.tmpfile, it's a
normal file which is _not_ deleted when the file is closed, and you
actually have access to the file's name, which is necessary in many
situations - particularly when writing unit tests that need to write to
a file and then read from it.
2015-03-30 16:46:40 -07:00
Charles Cooper
962073a423 style -- throw exception instead of calling enforce
cf. https://github.com/D-Programming-Language/phobos/pull/3127/files#r27414148
2015-03-30 11:09:54 -07:00
Charles Cooper
e741c24f85 Fix Issue 14368 - rawRead performance
reduce performance gap between fread and rawRead
cf. https://issues.dlang.org/show_bug.cgi?id=14368
2015-03-30 10:24:21 -07:00
Steven Schveighoffer
5f1ab79717 Make sure the free'd lineptr doesn't leave a dangling pointer. 2015-03-23 21:30:54 -04:00
Martin Nowak
73b24264da Merge pull request #3089 from andralex/byLine
3x faster byLine implementation on OSX, probably faster on Linux as well
2015-03-23 16:08:36 +01:00
Andrei Alexandrescu
d41f015c20 FreeBSD also appears to have getdelim 2015-03-22 16:28:09 -07:00
Andrei Alexandrescu
b3dcb74504 Eliminating most calls to GC.sizeOf also shaves some extra 25% 2015-03-22 00:32:06 -07:00
Andrei Alexandrescu
541e593cdc 3x faster byLine implementation on OSX, probably faster on Linux as well 2015-03-22 00:08:01 -07:00
rsw0x
2621b7fe7e Issue 13590
Add stdio.byChunk example using algorithm.joiner
2015-03-21 18:43:17 -04:00
John Colvin
e601077b86 make 0-arg writeln @trusted: Fix Issue 13681 2015-03-10 12:39:48 +00:00
sinkuu
6a3cd276b8 Fix issue 14041 - Refused writeln of a fixed size array of chars 2015-01-31 20:53:52 +09:00
Walter Bright
dc302d26a4 DIP25: make phobos work with it 2015-01-30 12:02:48 -08:00
k-hara
a40422b2aa Add missing imports 2015-01-07 00:18:56 +09:00
Joakim
6f3e68737b More narrowly scope druntime imports in std.stdio, by using the ddmd frontend to dump all import symbols 2014-12-25 01:39:47 -06:00
Nick Treleaven
62117b585f Document byLineCopy's caching of front
Use byLineCopy instead of byLine.map!idup in stdin example.
2014-12-25 17:23:28 +00:00
Walter Bright
51563087f0 add example for std.stdio.stdin 2014-12-19 17:48:40 -08:00
Ilya Yaroshenko
2c744b54e1 std.range: constraints => primitives
See discussion and voting in #2661
2014-11-23 20:05:20 +03:00
kai
6dcb2179e9 Solaris fixes for std.stdio and std.parallelism
- Use GENERIC_IO
- Use sysconf to determine number of CPUs
2014-11-21 22:50:14 +01:00