Commit graph

682 commits

Author SHA1 Message Date
Walter Bright
6fd66c5455 std.stdio: untangle fdopen references 2023-08-24 09:00:24 +02:00
Iain Buclaw
105bc4508c Remove declarations with expired deprecations 2023-07-04 21:37:48 +02:00
Walter Bright
33f63dbd5d
std.stdio: add glossary, fileno_t (#8772) 2023-06-22 17:41:08 +03:00
Walter Bright
b3e664e174
Merge pull request #8770 from WalterBright/setmode
fix Issue 23312 - Crash when calling writeln in WinMain
2023-06-21 11:24:52 -07:00
Dennis
e411f326c1
Merge pull request #8771 from WalterBright/stdio-version
std.stdio: add default case
2023-06-21 11:37:31 +02:00
Walter Bright
e690d40e0b std.stdio: add default case 2023-06-21 01:46:06 -07:00
Walter Bright
cdf9ce5e51 fix Issue 23312 - Crash when calling writeln in WinMain 2023-06-21 01:33:33 -07:00
Dennis
5cd77a6e32
User hyperlinks to refer to bugzilla issues (#8766) 2023-06-16 14:45:44 +03:00
Nick Treleaven
a3a4bdbb27
Fix cstdio links (#8740)
* Fix cstdio links

Fixes Issue 23834 - std.file : File links to c functions are invalid and
need updating

* Fix whitespace

* No need for prefix underscore
2023-04-24 12:55:48 +03:00
Jeremy
3c74c2b88a
Add an introduction to the std.json documentation, fix some mistakes in std.curl and replace broken links in std.stdio (#8724)
* Fix some mistakes in curl.d

* Add an introduction for std.json

* Fix more documentation in curl.d

* Fix broken links in std.stdio documentation
2023-03-21 11:01:15 +02:00
Rosca Rares
71c78b4dee Fix Issue 19567 2023-02-01 00:18:28 +01:00
Dennis
09275da681
Merge pull request #8623 from ntrel/safe-readln
Make std.stdio.File.readln @safe
2022-12-05 12:15:37 +01:00
Walter Bright
7bcb8a013d remove unused reference to isPointer from std.stdio 2022-12-01 00:32:20 -08:00
Nick Treleaven
6c9a746295 Fix getdelim trusted encapsulation 2022-11-25 11:21:06 +00:00
Nick Treleaven
f06030819b Remove double @trusted 2022-11-25 10:50:20 +00:00
Nick Treleaven
7b8fbf0350 Remove unsafe opDispatch
Use @trusted lambda for DIGITAL_MARS_STDIO impl
2022-11-25 10:50:20 +00:00
Nick Treleaven
4796637441 Add LockedFile.opDispatch 2022-11-19 20:26:01 +00:00
Nick Treleaven
89ce0c94de Remove LockedFile.fp method
We can use `fps` for `ferror` calls instead.
2022-11-19 17:08:00 +00:00
Nick Treleaven
59749cbc64 Remove 2 unnecessary vars 2022-11-19 14:42:03 +00:00
Nick Treleaven
96ac2e88c8 Tweak LockedFile unittest 2022-11-19 14:39:34 +00:00
Nick Treleaven
b5df5011a7 Move trusted_FGETC to LockedFile method 2022-11-19 14:39:07 +00:00
Nick Treleaven
b036f74ef2 Use LockedFile struct to enforce safe interface
Instead of wrong trusted_FUNLOCK.
Note: trusted_FGETC does have a @safe interface.
2022-11-17 11:51:10 +00:00
Nick Treleaven
9f05dd4d4a Remove unnecessary trusted lambda 2022-11-16 09:46:05 +00:00
Nick Treleaven
80be7fdba2 Revert "Use slice instead of pointer to avoid lambdas"
This reverts commit a5912ca262.
2022-11-16 09:45:36 +00:00
Nick Treleaven
01c80ba94b fp._ptr arithmetic 2022-11-15 18:05:45 +00:00
Nick Treleaven
2da49ee4c8 Make ReadlnAppender.putonly take const array 2022-11-15 17:57:31 +00:00
Nick Treleaven
597e73fd93 3 more @trusted calls 2022-11-15 17:52:11 +00:00
Nick Treleaven
cf131b797d Make StdioException.opCall @safe 2022-11-15 17:40:33 +00:00
Nick Treleaven
a5912ca262 Use slice instead of pointer to avoid lambdas 2022-11-15 17:39:34 +00:00
Nick Treleaven
40df30bc6e Make readlnImpl @safe and use @trusted lambdas 2022-11-15 17:32:04 +00:00
Nick Treleaven
5267ccf0b8 Make std.stdio.File.readln @safe 2022-11-14 15:38:54 +00:00
Geod24
9f008f2485 Remove usages of 'in' on Windows C bindings 2022-10-14 13:32:48 +02:00
Atila Neves
03ac553e03 Fix issue 21000 - allow use of std{in,out,err} with -preview=nosharedaccess 2022-10-04 18:50:10 +02:00
Luís Ferreira
7bf882bfe6 chore(stdio): annotate postblit of File struct
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2022-09-20 00:50:38 +02:00
Iain Buclaw
bee0ae0a79 partial fix for Issue 23344 - std.stdio: error: undefined identifier fputc_unlocked
While the proper fix would be to define the missing getc/putc macros,
for now to keep the build happy, just treat uClibc as a GENERIC_IO
platform.
2022-09-19 00:01:53 +02:00
vali0901
1d16213980 Fix Issue 13893 - rawRead must take a non-empty buffer 2022-07-23 18:09:32 +03:00
vali0901
85b47bc401 Fix Issue 13893 - rawRead must take a non-empty buffer 2022-07-23 16:50:33 +03:00
Su
a4a18d21c4
preallocate oom error (#8480)
* preallocate oom error

fixes issue 23196.

unfortunately, while i believe it should be possible to make this function `@nogc nothrow` [since we are throwing an error, which cannot be recovered from], i wasn't able to figure out how to get enforce to realise it. advice would be greatly appreciated on this front.

* undo wording change

* Update stdio.d

use onOutOfMemoryError instead of custom implementation

* nogc nothrow

* style fix

* remove unneeded variable

* remove unused import
2022-06-22 06:33:10 +01:00
Martin Nowak
0e3efabacc Merge remote-tracking branch 'upstream/stable' into merge_stable 2022-04-01 10:23:49 +02:00
Dennis Korpel
ba92563a0d Fix issue 22939 - bad error message: Error: no property msg for type string 2022-03-29 18:51:30 +00:00
MoonlightSentinel
304160f5af
Issue 13541 - Use wenforce instead of enforce + sysErrorString
This ensures that the actual error message won't be suppressed when the
lookup error code => message fails. The exception will also be more
informative because `WindowsException` is explicitly intended for
Windows API errors.
2022-03-28 01:01:19 +02:00
WebFreak001
dac59a4bde add isSomeFiniteCharInputRange as simplification
combines the very common constraint
`isInputRange!R && !isInfinite!R && isSomeChar!(ElementEncodingType!R)`
and adds a bunch of documentation with examples for users to understand
it better. This should lower the neccessary needed technical insight to
read basic docs, especially std.path and std.file docs.
2022-01-15 18:38:52 +01:00
Jan Jurzitza
a5c3c24b71 std.stdio: clarify "not opened" documentation
when the code is `!isOpen` it now means:
- in exception documentation it's now always saying "not opened" (or similar, it's clear the file is in error state in that case)
- in general documentation it now always says "closed or not yet opened" (to avoid mistaking it with eof)
- in runtime error messages it always says "unopened"
2022-01-10 12:47:47 +00:00
dkorpel
cd7389266e Add explicit return to inout functions 2021-11-16 23:22:33 +00:00
Nathan Sashihara
2ba87d2ff7 Delete the bodies of a number of private wrapper functions in std.stdio and std.file 2021-10-28 06:10:01 -04:00
Luís Ferreira
6fa9189df9 std.stdio: change exit(0) to _exit(0) to prevent segfault
Fixes #22222.

`exit(0)` call from libc does an exit sequence before exit and therefore
doesn't exit immediately. This causes problems on custom unittest runners. To
circunvent this problem we should call `_exit()` syscall to exit immediately.
In this context this is just fine to do and can prevent any future frustration
when debugging.

Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2021-08-19 04:23:46 +00:00
Nathan Sashihara
1bdcf1f512 isSomeChar!(Unqual!T) -> isSomeChar!T
Removing the redundant `Unqual` does not change the result.
2021-07-24 09:26:46 +00:00
Max Haughton
3415c253a0 Fix Issue 21495 - File.readf documentation does not state what what is returned. 2021-07-20 02:07:01 +01:00
Martin Nowak
7a461990da Merge remote-tracking branch 'upstream/stable' into merge_stable 2021-06-04 13:02:58 +02:00
Martin Kinkelin
e150b1e052 std.stdio: Restore compilability of unittests for iOS 2021-06-03 18:23:40 +00:00