[FORMAT] wmain(): Call GetLastError() immediately

and adapt STRING_ERROR_DRIVE_TYPE strings.
This commit is contained in:
Serge Gautherie 2024-10-17 00:45:29 +02:00 committed by Mark Jansen
parent 421dd31d49
commit c302dbcc96
23 changed files with 37 additions and 36 deletions

View file

@ -369,6 +369,7 @@ int wmain(int argc, WCHAR *argv[])
DWORD serialNumber;
ULARGE_INTEGER totalNumberOfBytes, totalNumberOfFreeBytes;
WCHAR szMsg[RC_STRING_MAX_SIZE];
DWORD dwError;
/* Initialize the Console Standard Streams */
ConInitStdStreams();
@ -423,9 +424,9 @@ int wmain(int argc, WCHAR *argv[])
driveType = GetDriveTypeW(RootDirectory);
switch (driveType)
{
case DRIVE_UNKNOWN :
K32LoadStringW(GetModuleHandle(NULL), STRING_ERROR_DRIVE_TYPE, szMsg, ARRAYSIZE(szMsg));
PrintWin32Error(szMsg, GetLastError());
case DRIVE_UNKNOWN:
case DRIVE_NO_ROOT_DIR: // This case used to report STRING_NO_VOLUME, which has no ".\n".
ConResPuts(StdErr, STRING_ERROR_DRIVE_TYPE);
return -1;
case DRIVE_REMOTE:
@ -433,11 +434,6 @@ int wmain(int argc, WCHAR *argv[])
ConResPuts(StdOut, STRING_NO_SUPPORT);
return -1;
case DRIVE_NO_ROOT_DIR:
K32LoadStringW(GetModuleHandle(NULL), STRING_NO_VOLUME, szMsg, ARRAYSIZE(szMsg));
PrintWin32Error(szMsg, GetLastError());
return -1;
case DRIVE_REMOVABLE:
ConResPrintf(StdOut, STRING_INSERT_DISK, RootDirectory[0]);
fgetws(input, ARRAYSIZE(input), stdin);
@ -474,14 +470,15 @@ int wmain(int argc, WCHAR *argv[])
NULL, NULL, NULL,
fileSystem, ARRAYSIZE(fileSystem)))
{
if (GetLastError() == ERROR_UNRECOGNIZED_VOLUME)
dwError = GetLastError();
if (dwError == ERROR_UNRECOGNIZED_VOLUME)
{
wcscpy(fileSystem, L"RAW");
}
else
{
K32LoadStringW(GetModuleHandle(NULL), STRING_NO_VOLUME, szMsg, ARRAYSIZE(szMsg));
PrintWin32Error(szMsg, GetLastError());
PrintWin32Error(szMsg, dwError);
return -1;
}
}
@ -505,8 +502,9 @@ int wmain(int argc, WCHAR *argv[])
&totalNumberOfBytes,
NULL))
{
dwError = GetLastError();
K32LoadStringW(GetModuleHandle(NULL), STRING_NO_VOLUME_SIZE, szMsg, ARRAYSIZE(szMsg));
PrintWin32Error(szMsg, GetLastError());
PrintWin32Error(szMsg, dwError);
return -1;
}
@ -605,8 +603,9 @@ int wmain(int argc, WCHAR *argv[])
input[wcslen(input) - 1] = 0;
if (!SetVolumeLabelW(RootDirectory, input))
{
dwError = GetLastError();
K32LoadStringW(GetModuleHandle(NULL), STRING_NO_LABEL, szMsg, ARRAYSIZE(szMsg));
PrintWin32Error(szMsg, GetLastError());
PrintWin32Error(szMsg, dwError);
return -1;
}
}
@ -619,8 +618,9 @@ int wmain(int argc, WCHAR *argv[])
&totalNumberOfBytes,
&totalNumberOfFreeBytes))
{
dwError = GetLastError();
K32LoadStringW(GetModuleHandle(NULL), STRING_NO_VOLUME_SIZE, szMsg, ARRAYSIZE(szMsg));
PrintWin32Error(szMsg, GetLastError());
PrintWin32Error(szMsg, dwError);
return -1;
}
@ -635,8 +635,9 @@ int wmain(int argc, WCHAR *argv[])
&serialNumber, NULL, NULL,
NULL, 0))
{
dwError = GetLastError();
K32LoadStringW(GetModuleHandle(NULL), STRING_NO_VOLUME, szMsg, ARRAYSIZE(szMsg));
PrintWin32Error(szMsg, GetLastError());
PrintWin32Error(szMsg, dwError);
return -1;
}