Those kind of functions should be placed in druntime,
but the *64 (v) functions as a public interface are actually
deprecated and shouldn't be used anymore.
Druntime takes care that the normal stat, fopen, calls support
large files, if __USE_FILE_OFFSET64 is defined (which is what
the new C API does as well)
Note: It's actually important to use the functions from
core.sys.posix.stdio as the functions in core.stdc.stdio
are not large file aware. This is probably a bug in druntime.
This is mainly because it could be nice to use tempFile() in other
unittests. Since tempFile() caches its return value, it would return
the test value ("/") for any other unittest that follows it.
Alternatively, if the other unittest(s) get run first, tempFile()'s
would fail.
FindFirstFile and CreateFile may fail in certain circumstances when
GetFileAttributesEx would succeed - for example, if the user doesn't have
directory listing permissions on the object's containing directory.
Alias this now appears to work properly, hence all tricks & problems
with dual opDispatch are removed.
Also fixes:
Issue 7264 - Can't iterate result from 4-arg dirEntries as string
The reason for this change is the quirky behavior of access for SUID
programs: a file may not appear to "exist", despite that the program
would be able to open it just fine. The behavior in question is described
as follows in the access man page:
> The check is done using the calling process's real UID and GID, rather
> than the effective IDs as is done when actually attempting an operation
> (e.g., open(2)) on the file. This allows set-user-ID programs to easily
> determine the invoking user's authority.
While various operating systems provide eaccess or euidaccess functions,
these are not part of POSIX - so it's safer to use stat instead.
Having the January deprecations and February deprecations in the same
month seems a bit much to me, since we managed to have both of those
months have quite a few, whereas the next few months have very few if
any. And we're close to release too, so I'd prefer to avoid causing
issues by deprecating them now.
* remove `useWfuncs` using
* remove std.__file using
* remove __file.d
* remove variables which have become unnecessary
* remove std.windows.charset import and alias in file.d
readLink should be checking that the result of readlink is not -1,
not that it's not 0, so the cenforce calls were wrong and were
resulting in incorrect behavior when readlink failed.
Some of the tests are too time-sensitive, and the sleeps are slowing the
tests down, so I've versioned off the ones that I believe are currently
causing issues for the autotester.
It looks like it may be possible to make the file times retrieved more
precise, which would lessen the need for sleeps. It would probably also
be prudent to combine a number of the tests, which would cut back on the
number sleeps needed. Hopefully, this change is enough to deal with
autotester's issues for now though.
This enables the test suite to build with the -property switch enabled.
std.cpuid: vendor()/processor() have not been converted to properties in accordance to core.cpuid.
std.xml: Element.text() cannot be a property due to the optional parameter.