106 DWORD cbView, ibView;
141 if (hMapping0 ==
NULL)
148 if (hMapping1 ==
NULL)
165 for (ibView = 0; ibView < cbView; ++ib.
QuadPart, ++ibView)
167 if (pb0[ibView] == pb1[ibView])
174 pb0[ibView], pb1[ibView]);
179 pb0[ibView], pb1[ibView]);
252 if (hMapping0 ==
NULL)
262 if (hMapping1 ==
NULL)
285 static const LPCWSTR s_exts[] = {
L"EXE",
L"COM",
L"SYS",
L"OBJ",
L"LIB",
L"BIN" };
290 else if (!pch0 && pch1)
292 else if (pch0 && !pch1)
294 else if (pch0 < pch1)
303 for (iext = 0; iext <
_countof(s_exts); ++iext)
332#define IS_DOTS(pch) \
333 ((*(pch) == L'.') && (((pch)[1] == 0) || (((pch)[1] == L'.') && ((pch)[2] == 0))))
334#define HasWildcard(filename) \
335 ((wcschr((filename), L'*') != NULL) || (wcschr((filename), L'?') != NULL))
361 fc.file[!bWildRight] = pFC->
file[!bWildRight];
411 fc.file[0] = szPath0;
412 fc.file[1] = szPath1;
473 fc.file[0] = szPath0;
474 fc.file[1] = szPath1;
531 if (fWild0 && fWild1)
564 else if (!
fc.file[1])
592 if (endptr ==
NULL || *endptr != 0)
619 case L'0':
case L'1':
case L'2':
case L'3':
case L'4':
620 case L'5':
case L'6':
case L'7':
case L'8':
case L'9':
622 if (endptr ==
NULL || *endptr != 0)
static const struct optioninfo * find1(const char **optp, const struct optioninfo *table, comparer_type *comparer)
static FCRET FileCompare(FILECOMPARE *pFC)
VOID PrintCaption(LPCWSTR file)
HANDLE DoOpenFileForInput(LPCWSTR file)
static BOOL IsBinaryExt(LPCWSTR filename)
static FCRET TextFileCompare(FILECOMPARE *pFC)
static BOOL IsTitleWild(LPCWSTR filename)
static FCRET BinaryFileCompare(FILECOMPARE *pFC)
VOID PrintLineA(const FILECOMPARE *pFC, DWORD lineno, LPCSTR psz)
VOID PrintLineW(const FILECOMPARE *pFC, DWORD lineno, LPCWSTR psz)
VOID PrintEndOfDiff(VOID)
static FCRET FileCompareBothWild(const FILECOMPARE *pFC)
#define HasWildcard(filename)
FCRET Different(LPCWSTR file0, LPCWSTR file1)
FCRET CannotRead(LPCWSTR file)
FCRET LongerThan(LPCWSTR file0, LPCWSTR file1)
static FCRET FileCompareOneSideWild(const FILECOMPARE *pFC, BOOL bWildRight)
FCRET InvalidSwitch(VOID)
static FCRET WildcardFileCompare(FILECOMPARE *pFC)
static FCRET FileCompareWildTitle(const FILECOMPARE *pFC)
#define IDS_RESYNC_FAILED
#define IDS_OUT_OF_MEMORY
#define IDS_NO_DIFFERENCE
#define IDS_INVALID_SWITCH
void quit(int argc, const char *argv[])
void ConPuts(FILE *fp, LPCWSTR psz)
#define ConInitStdStreams()
void ConPrintf(FILE *fp, LPCWSTR psz,...)
void ConResPrintf(FILE *fp, UINT nID,...)
void ConResPuts(FILE *fp, UINT nID)
#define INVALID_HANDLE_VALUE
#define CreateFileMappingW(a, b, c, d, e, f)
static const WCHAR *const ext[]
HANDLE WINAPI FindFirstFileW(IN LPCWSTR lpFileName, OUT LPWIN32_FIND_DATAW lpFindFileData)
BOOL WINAPI FindClose(HANDLE hFindFile)
BOOL WINAPI FindNextFileW(IN HANDLE hFindFile, OUT LPWIN32_FIND_DATAW lpFindFileData)
void WINAPI PathRemoveExtensionW(WCHAR *path)
WCHAR *WINAPI PathFindFileNameW(const WCHAR *path)
BOOL WINAPI PathRemoveFileSpecW(WCHAR *path)
LPWSTR WINAPI PathFindExtensionW(const WCHAR *path)
LPWSTR WINAPI GetCommandLineW(void)
_ACRTIMP __msvcrt_ulong __cdecl wcstoul(const wchar_t *, wchar_t **, int)
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
FCRET TextCompareW(FILECOMPARE *pFC, HANDLE *phMapping0, const LARGE_INTEGER *pcb0, HANDLE *phMapping1, const LARGE_INTEGER *pcb1)
FCRET TextCompareA(FILECOMPARE *pFC, HANDLE *phMapping0, const LARGE_INTEGER *pcb0, HANDLE *phMapping1, const LARGE_INTEGER *pcb1)
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 const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HLOCAL NTAPI LocalFree(HLOCAL hMem)
#define PathAddExtensionW
LPWSTR *WINAPI CommandLineToArgvW(LPCWSTR lpCmdline, int *numargs)
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
_Field_z_ WCHAR cFileName[MAX_PATH]