mirror of https://github.com/decompals/wibo.git
Fix `FindFirstFileA` failing due to an empty parent and add locale `LCType` stubs (#71)
* Fix sn cpp.exe not finding the include paths * str_for_LCType stubs for sn gcc as.exe
This commit is contained in:
parent
6d284d4461
commit
0fbe87751f
|
@ -724,15 +724,20 @@ namespace kernel32 {
|
||||||
return (void *) 1;
|
return (void *) 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto *handle = new FindFirstFileHandle();
|
// If the parent path is empty then we assume the parent path is the current directory.
|
||||||
|
auto parent_path = path.parent_path();
|
||||||
|
if (parent_path == "") {
|
||||||
|
parent_path = ".";
|
||||||
|
}
|
||||||
|
|
||||||
if (!std::filesystem::exists(path.parent_path())) {
|
if (!std::filesystem::exists(parent_path)) {
|
||||||
wibo::lastError = ERROR_PATH_NOT_FOUND;
|
wibo::lastError = ERROR_PATH_NOT_FOUND;
|
||||||
delete handle;
|
|
||||||
return INVALID_HANDLE_VALUE;
|
return INVALID_HANDLE_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::filesystem::directory_iterator it(path.parent_path());
|
auto *handle = new FindFirstFileHandle();
|
||||||
|
|
||||||
|
std::filesystem::directory_iterator it(parent_path);
|
||||||
handle->it = it;
|
handle->it = it;
|
||||||
handle->pattern = path.filename().string();
|
handle->pattern = path.filename().string();
|
||||||
|
|
||||||
|
@ -1912,7 +1917,39 @@ namespace kernel32 {
|
||||||
if (LCType == 4098) { // LOCALE_SENGCOUNTRY
|
if (LCType == 4098) { // LOCALE_SENGCOUNTRY
|
||||||
return "Country";
|
return "Country";
|
||||||
}
|
}
|
||||||
assert(false);
|
if (LCType == 0x1) { // LOCALE_ILANGUAGE
|
||||||
|
return "0001";
|
||||||
|
}
|
||||||
|
if (LCType == 0x15) { // LOCALE_SINTLSYMBOL
|
||||||
|
return "Currency";
|
||||||
|
}
|
||||||
|
if (LCType == 0x14) { // LOCALE_SCURRENCY
|
||||||
|
return "sCurrency";
|
||||||
|
}
|
||||||
|
if (LCType == 0x16) { // LOCALE_SMONDECIMALSEP
|
||||||
|
return ".";
|
||||||
|
}
|
||||||
|
if (LCType == 0x17) { // LOCALE_SMONTHOUSANDSEP
|
||||||
|
return ",";
|
||||||
|
}
|
||||||
|
if (LCType == 0x18) { // LOCALE_SMONGROUPING
|
||||||
|
return ";";
|
||||||
|
}
|
||||||
|
if (LCType == 0x50) { // LOCALE_SPOSITIVESIGN
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (LCType == 0x51) { // LOCALE_SNEGATIVESIGN
|
||||||
|
return "-";
|
||||||
|
}
|
||||||
|
if (LCType == 0x1A) { // LOCALE_IINTLCURRDIGITS
|
||||||
|
return "2";
|
||||||
|
}
|
||||||
|
if (LCType == 0x19) { // LOCALE_ICURRDIGITS
|
||||||
|
return "2";
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUG_LOG("STUB: LCType 0x%X not implemented\n", LCType);
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
int WIN_FUNC GetLocaleInfoA(unsigned int Locale, int LCType, LPSTR lpLCData, int cchData) {
|
int WIN_FUNC GetLocaleInfoA(unsigned int Locale, int LCType, LPSTR lpLCData, int cchData) {
|
||||||
|
|
Loading…
Reference in New Issue