Win32 symlink code refactoring
As mentioned in MR !257 (merged), the code needs some straightening.
This MR is mostly about refactoring the code that does readlink()
and stat()
on Windows, but a couple of semi-related changes also snuck in. One is about GFileType
, the other is about st_nlink
.
The main commit only changes private API and fixes a corner-case (getting smlink info for a file using a FD). The st_nlink
is mostly inconsequential (it's technically a fix, but i doubt many people use that specific part of GFileInfo
) and also causes no API changes. The only thing that really affects other developers is the decision to forbid G_FILE_TYPE_SYMBOLIC_LINK
value of GFileType
on Windows (see the commit message for an explanation).
The diffs are hard to look at (udiffs, at least; maybe side-by-side would look better), i recommend looking at the file before/after the change.