[SHLWAPI][SDK] Support FixSlashesAndColonA (#9040)

Implementing missing features...
JIRA issue: CORE-19278
- Implement FixSlashesAndColonA function.
- Modify shlwapi.spec.
- Add prototype into <shlwapi_undoc.h>.
This commit is contained in:
Katayama Hirofumi MZ
2026-05-18 21:19:01 +09:00
committed by GitHub
parent fb47d37a49
commit e148366e9a
3 changed files with 20 additions and 2 deletions

View File

@@ -4729,6 +4729,21 @@ DWORD WINAPI SHMenuIndexFromID(HMENU hMenu, UINT uID)
}
#ifdef __REACTOS__
/*************************************************************************
* @ [SHLWAPI.447]
*/
VOID WINAPI FixSlashesAndColonA(_Inout_ LPSTR lpstr)
{
PCHAR pch;
for (pch = lpstr; *pch; pch = CharNextA(pch))
{
if (*pch == '/')
*pch = '\\';
}
}
#endif
/*************************************************************************
* @ [SHLWAPI.448]
*/

View File

@@ -444,7 +444,7 @@
444 stdcall -noname SHGetSystemWindowsDirectoryW(ptr long) kernel32.GetSystemWindowsDirectoryW
445 stdcall -noname PathFileExistsAndAttributesA(str ptr)
446 stdcall -noname PathFileExistsAndAttributesW(wstr ptr)
447 stub -noname FixSlashesAndColonA
447 stdcall -noname FixSlashesAndColonA(str)
448 stdcall -noname FixSlashesAndColonW(wstr)
449 stub -noname NextPathA
450 stub -noname NextPathW

View File

@@ -389,7 +389,8 @@ PathFileExistsDefExtAndAttributesW(
_Out_opt_ LPDWORD pdwFileAttributes);
BOOL WINAPI PathFindOnPathExW(LPWSTR lpszFile, LPCWSTR *lppszOtherDirs, DWORD dwWhich);
VOID WINAPI FixSlashesAndColonW(LPWSTR);
VOID WINAPI FixSlashesAndColonA(_Inout_ LPSTR lpstr);
VOID WINAPI FixSlashesAndColonW(_Inout_ LPWSTR lpwstr);
BOOL WINAPI PathIsValidCharA(char c, DWORD dwClass);
BOOL WINAPI PathIsValidCharW(WCHAR c, DWORD dwClass);
BOOL WINAPI SHGetPathFromIDListWrapW(LPCITEMIDLIST pidl, LPWSTR pszPath);
@@ -407,9 +408,11 @@ LPWSTR WINAPI StrCpyNXW(LPWSTR lpszDest, LPCWSTR lpszSrc, int iLen);
#ifdef UNICODE
#define PathIsValidChar PathIsValidCharW
#define StrCpyNX StrCpyNXW
#define FixSlashesAndColon FixSlashesAndColonW
#else
#define PathIsValidChar PathIsValidCharA
#define StrCpyNX StrCpyNXA
#define FixSlashesAndColon FixSlashesAndColonA
#endif
BOOL WINAPI