in src/wfcopy.c [28:72]
DWORD ConfirmDialog(
HWND hDlg, DWORD dlg,
LPTSTR pFileDest, PLFNDTA pDTADest,
LPTSTR pFileSource, PLFNDTA pDTASource,
BOOL bConfirmByDefault, BOOL *pbAll,
BOOL bConfirmReadOnlyByDefault, BOOL *pbReadOnlyAll);
DWORD IsInvalidPath(register LPTSTR pPath);
DWORD GetNextPair(register PCOPYROOT pcr, LPTSTR pFrom, LPTSTR pToPath, LPTSTR pToSpec, DWORD dwFunc, PDWORD pdwError, BOOL bIsLFNDriveDest);
INT CheckMultiple(LPTSTR pInput);
VOID DialogEnterFileStuff(register HWND hwnd);
DWORD SafeFileRemove(LPTSTR szFileOEM);
BOOL IsWindowsFile(LPTSTR szFileOEM);
INT_PTR CALLBACK ReplaceDlgProc(register HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
BOOL
IsValidChar(TUCHAR ch, BOOL fPath, BOOL bLFN)
{
switch (ch) {
case CHAR_SEMICOLON: // terminator
case CHAR_COMMA: // terminator
return bLFN;
case CHAR_PIPE: // pipe
case CHAR_GREATER: // redir
case CHAR_LESS: // redir
case CHAR_DQUOTE: // quote
return FALSE;
case CHAR_QUESTION: // wc we only do wilds here because they're
case CHAR_STAR: // wc legal for qualifypath
case CHAR_BACKSLASH: // path separator
case CHAR_COLON: // drive colon
case CHAR_SLASH: // path sep
case CHAR_SPACE: // space: valid on NT FAT, but winball can't use.
return fPath;
}
//
// cannot be a control character or space
//
return ch > CHAR_SPACE;
}