Commit graph

268 commits

Author SHA1 Message Date
Denis Shelomovskij
ccdfd1ecca Remove unused WinAPI ANSI function usages. 2014-06-12 17:22:18 +04:00
Andrej Mitrovic
45ef22eeab Merge pull request #1940 from JakobOvrum/fixgloblink
Fix cross-reference to std.path.globMatch from std.file.dirEntries
2014-02-15 12:32:00 +01:00
Jakob Ovrum
27a9b5987d Fix cross-reference to std.path.globMatch from std.file.dirEntries 2014-02-15 11:16:08 +01:00
Vladimir Panteleev
88f694dee3 std.file: Fix rmdirRecurse and symlinks/junctions on Windows 2014-02-15 03:36:54 +00:00
k-hara
b391b2ec9f Convert to new alias syntax 2014-02-11 15:27:05 +09:00
monarchdodra
fd8540072d Remove trailing white 2014-01-08 08:30:28 +01:00
Andrej Mitrovic
1d7912c679 Merge pull request #1142 from MikeWey/Issue8298
Fix Issue #8298, Don't throw exceptions on broken symlinks.
2014-01-07 16:23:42 -08:00
Vladimir Panteleev
2c981df4d1 std.file: Simplify/optimize mkdirRecurse
The left.length != pathname.length check both takes care of the
Windows-only check, and it avoids a pointless stat on the FS root.
2014-01-06 13:34:59 +00:00
Vladimir Panteleev
d3f9e24f91 std.file: Fix race condition when mkdirRecurse runs concurrently
mkdirRecurse would crash if a directory was created between its
exists() and mkdir() calls. This could occur if mkdirRecurse was called
at the same time from mutiple threads or processes.

Instead of relying on the exists() check to indicate whether the next
mkdir() should succeed, we explicitly ignore "already exists" errors
from the OS. Note that this changes the behavior of mkdirRecurse when
the leaf directory already existed: previously it would throw, whereas
now it will silently succeed. The new behavior is conformant with some
other implementations of "recursive mkdir": the -p flag of the GNU
tool, Ruby's mkpath, Java's mkdirs, and Perl's make_path. (On the
other hand, the old behavior was equivalent to the behavior of
Python's makedirs).
2014-01-06 08:36:05 +00:00
Martin Nowak
5ab8dae665 fix Issue 11789 - No setAttributes to complement getAttributes
- add std.file.setAttributes

[Issue 11789](https://d.puremagic.com/issues/show_bug.cgi?id=11789)
2013-12-21 22:27:01 +01:00
Martin Nowak
f2e36c6d0b Revert "fix Issue 11789 - No setAttributes to complement getAttributes"
This reverts commit c124140e09.
2013-12-21 22:17:08 +01:00
Martin Nowak
c124140e09 fix Issue 11789 - No setAttributes to complement getAttributes
[Issue 11789](https://d.puremagic.com/issues/show_bug.cgi?id=11789)
2013-12-21 22:00:12 +01:00
jmdavis
efd6ea0cbf Move various deprecations along. 2013-12-11 23:44:12 -08:00
Mike Wey
eb4d5a0572 Fix Issue #8298, Don't throw exceptions on broken symlinks.
Using dirEntries to loop trough all the files/directories in a directory
will curently throw an Exception when encountering an broken symlink.

Whit this change DirEntry will no longer throw an Exception for broken
symlinks, but in that case isDir and isFile will return flase while
isSymlink returns true.
2013-11-13 22:57:05 +01:00
Walter Bright
fe9a3537ea fix Issue 11392 - dirEntries segfaults 2013-11-02 00:04:26 -07:00
safety0ff
249c6328ff Merge dirEntries unittests and modify to run within the same testdir. 2013-10-23 18:08:36 -04:00
Denis Shelomovskij
87b393e702 Fixup std.file.thisExePath.
It's dangerous to add `assert(0)` at unreachable location because is will force the compiler to not show error if the location accidentally became reachable.
2013-09-23 13:22:58 +04:00
Daniel Murphy
c0d297db5e Merge pull request #1224 from jacob-carlborg/get_process_path
Add function for getting the current process path.
2013-09-12 21:13:16 -07:00
Jacob Carlborg
bf6c129b95 Add function for getting the current executable path. 2013-09-06 11:27:42 +02:00
Lionello Lunesu
b4074054ba Fix issue 10893: added missing or renamed DDoc parameters (found by fix to 10236) 2013-08-31 15:36:29 +08:00
monarch dodra
cc7f8cd511 Merge pull request #1474 from tom-tan/safe-file-deleteme
Make std.file.deleteme @safe
2013-08-13 05:01:27 -07:00
monarch dodra
354b4761f8 Merge pull request #1449 from tom-tan/safe-file-FileException
Make constructors of std.file.FileException @safe and @trusted
2013-08-13 04:58:13 -07:00
Tomoya Tanjo
ec500bb9eb Make std.file.deleteme @safe 2013-08-13 19:22:35 +09:00
Tomoya Tanjo
c45dab54c6 Mark a constructor for Windows as @safe 2013-08-13 18:58:20 +09:00
Tomoya Tanjo
17d35cd80d Make std.file.tempDir @trusted 2013-08-12 10:52:00 +09:00
Tomoya Tanjo
e5dbcaf7d6 Make std.file.exists trusted 2013-08-12 10:33:01 +09:00
Tomoya Tanjo
163b828923 Mark a constructor for version(Windows) as @trusted 2013-08-12 09:48:51 +09:00
monarch dodra
3d7e9b5d21 Merge pull request #1394 from 9rnsr/enforceProp
Supplemental change for dmd/pull/2305
2013-08-05 10:41:17 -07:00
Tomoya Tanjo
a6b796b4dd Make constructors of std.file.FileException @safe or @trusted 2013-08-03 23:52:36 +09:00
Martin Nowak
f6daed7e8c add missing constructor declarations for -version=StdDdoc 2013-07-22 16:17:50 +02:00
k-hara
30356d606f Fix @property annotations and incorrect parenthesis 2013-07-16 00:31:26 +09:00
monarch dodra
f7b417192a Fix Issue 10621 - dirEntry is (now) useless 2013-07-14 10:46:28 +02:00
monarch dodra
c9f91c21e7 Fixing some un-necessary calls to text. Fix comment. 2013-07-12 14:18:48 +02:00
monarch dodra
c140217d25 Fix Issue 10607 - DirEntry has no constructor
http://d.puremagic.com/issues/show_bug.cgi?id=10607

Fixes:
auto a = DirEntry("path"); //Correctly works

Simplified code a little bit (Axed _init)

Improved FileException usage
2013-07-11 19:12:03 +02:00
k-hara
03a32d6fa4 Fix issue 313 & 314 2013-06-25 08:38:30 +09:00
Ferdinand Majerech
7d0f4f665a DDoc: file.d: Exceptions thrown (except slurp)
Added all missing Throws:, with the exception of slurp,
which might throw pretty much anything
(at least Exception, ErrnoException, ConvException, maybe FormatException, gave up on trying to parse all the called code
(main offenders are formattedRead and the File ctor)).
2013-04-19 22:49:56 +03:00
Vladimir Panteleev
16286c045b DDoc tweaks and fixes 2013-04-18 23:49:06 +00:00
Walter Bright
22165eec8d remove dead code 2013-03-28 15:57:57 -07:00
Vladimir Panteleev
eb1a477087 std.file: Document and test that copy clobbers 2013-03-11 05:14:35 +02:00
Vladimir Panteleev
7d35ad4953 std.file: Make rename clobber on Windows, adjust docs (Issue 5032) 2013-03-11 05:14:18 +02:00
Andrej Mitrovic
480b51c6a1 setTimes should throw FileException on Posix. 2013-02-10 04:19:39 +01:00
Andrej Mitrovic
6655cc1848 Update getTimes params and docs to reflect it supports directories. 2013-02-10 04:19:02 +01:00
Andrej Mitrovic
26edcdd305 Fixes Issue 7819 - setTimes should work on folders. 2013-02-10 04:02:07 +01:00
Dicebot
55e958a19d Removed unit-test of deprecated listDir 2013-01-26 20:02:15 +02:00
Dicebot
5523985f44 Fulfilled depreation promise for std.file functions (November 2012) 2013-01-26 17:37:35 +02:00
Andrej Mitrovic
aaa6854eb7 Fixes Issue 9373 - Add deprecation messages to Phobos. 2013-01-23 02:44:08 +01:00
H. S. Teoh
3d56ea1fa5 Complete the fix for issue 8302.
The original fix (e6621da899) missed the
second variant of std.file.dirEntries.
2013-01-03 21:21:39 -08:00
H. S. Teoh
655452e379 Remove stray // from ddoc. 2013-01-03 21:18:32 -08:00
Andrej Mitrovic
e6621da899 Fixes Issue 8302 - Document that std.file.dirEntries throws FileException on invalid dir. 2012-12-27 00:59:47 +01:00
k-hara
01df2f60be Remove redundant parenthesis for getters, and use assignment syntax for setters 2012-11-23 15:07:17 +09:00