17 #define FLAG_HELP (1 << 0) // "/?" 18 #define FLAG_R (1 << 1) // recursive directory 19 #define FLAG_Q (1 << 2) // quiet mode 20 #define FLAG_F (1 << 3) // double quote 21 #define FLAG_T (1 << 4) // detailed info 30 #define IS_DOTS(pch) \ 31 (*(pch) == L'.' && ((pch)[1] == 0 || ((pch)[1] == L'.' && (pch)[2] == 0))) 33 #define DEFAULT_PATHEXT L".com;.exe;.bat;.cmd" 173 for (iDir = 0; iDir < dirlist->
count; ++iDir)
217 for (iArg = 1; iArg <
argc; ++iArg)
220 if (
arg[0] ==
L'/' ||
arg[0] ==
L'-')
330 if (*
dir !=
'\\' &&
dir[1] !=
L':')
439 FN_DISABLE_WOW DisableWOW =
BOOL WINAPI FindNextFileW(IN HANDLE hFindFile, OUT LPWIN32_FIND_DATAW lpFindFileData)
BOOL(CALLBACK * WHERE_CALLBACK)(LPCWSTR pattern, LPCWSTR path, PWIN32_FIND_DATAW data)
static BOOL CALLBACK WhereSearchRecursiveCallback(LPCWSTR pattern, LPCWSTR path, PWIN32_FIND_DATAW data)
static int strlist_add(strlist_t *plist, LPCWSTR psz)
GLsizei const GLchar ** path
#define LOCALE_USER_DEFAULT
HANDLE WINAPI FindFirstFileExW(IN LPCWSTR lpFileName, IN FINDEX_INFO_LEVELS fInfoLevelId, OUT LPVOID lpFindFileData, IN FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, IN DWORD dwAdditionalFlags)
void quit(int argc, const char *argv[])
#define GetCurrentDirectoryW(x, y)
_Check_return_ _CRTIMP wchar_t *__cdecl wcstok(_Inout_opt_z_ wchar_t *_Str, _In_z_ const wchar_t *_Delim)
static BOOL WhereGetVariable(LPCWSTR name, LPWSTR *value)
static BOOL CALLBACK WherePrintPath(LPCWSTR pattern, LPCWSTR path, PWIN32_FIND_DATAW data)
#define INVALID_HANDLE_VALUE
static strlist_t s_patterns
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
static BOOL WhereGetPathExt(strlist_t *ext_list)
BOOL WINAPI FileTimeToLocalFileTime(IN CONST FILETIME *lpFileTime, OUT LPFILETIME lpLocalFileTime)
STRSAFEAPI StringCchCatW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
#define IDS_PATHPAT_WITH_R
static VOID WhereError(UINT nID)
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
static strlist_t s_pathext
void ConResPuts(FILE *fp, UINT nID)
#define FILE_ATTRIBUTE_DIRECTORY
INT wmain(INT argc, WCHAR **argv)
void ConResPrintf(FILE *fp, UINT nID,...)
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
static BOOL WhereDoOption(DWORD flag, LPCWSTR option)
static int strlist_find_i(strlist_t *plist, LPCWSTR psz)
#define INVALID_FILE_ATTRIBUTES
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static strlist_t s_results
static void strlist_destroy(strlist_t *plist)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
static LPWSTR s_pszRecursiveDir
_Must_inspect_result_ _Out_ PLARGE_INTEGER FileSize
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
GLsizei const GLfloat * value
static BOOL WhereIsRecursiveDirOK(LPCWSTR name)
void ConPrintf(FILE *fp, LPCWSTR psz,...)
#define IDS_ENVPAT_WITH_R
#define FILE_ATTRIBUTE_VIRTUAL
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
static BOOL WhereSearchGeneric(LPCWSTR pattern, LPWSTR path, size_t path_len, BOOL bDir, WHERE_CALLBACK callback)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
static BOOL WhereSearch(LPCWSTR pattern, strlist_t *dirlist)
static BOOL WhereParseCommandLine(INT argc, WCHAR **argv)
static BOOL WhereDoPattern(LPWSTR pattern)
static BOOL WhereSearchRecursive(LPCWSTR pattern, LPCWSTR dir)
#define ConInitStdStreams()
#define GetProcAddress(x, y)
static BOOL WhereSearchFiles(LPCWSTR pattern, LPCWSTR dir)
static BOOL WhereFindByVar(LPCWSTR pattern, LPCWSTR name)
static IPrintDialogCallback callback
static LPWSTR strlist_get_at(strlist_t *plist, unsigned int i)
#define GetEnvironmentVariableW(x, y, z)
static BOOL WhereFindByDirs(LPCWSTR pattern, LPWSTR dirs)
BOOL WINAPI FindClose(HANDLE hFindFile)