% This macro source file is from the four volume series % "TeX in Practice" by Stephan von Bechtolsheim, published % 1993 by Springer-Verlag, New York. % Copyright 1993 Stephan von Bechtolsheim. % No warranty or liability is assumed. % This macro may be copied freely if no fees other than % media cost or shipping charges are charged and as long % as this copyright and the following source code itself % is not changed. Please see the series for further information. % % Version: 1.0 % Date: May 1, 1993 % % % This source code is documented in 29.7.1, p. III-528. % Original source in file "io2.TEX", starting line 1941. \wlog{L: "comfiles.tip" ["io2.TEX," l. 1941, p. III-528]}% % This file DOES belong to format "texip." \InputD{compst.tip} \InputD{verb-bas.tip} \InputD{fexist.tip} \InputD{endrec.tip} \catcode`\@ = 11 \newcount\@CompareFilesResult \newread\@ReadCompareOne \newread\@ReadCompareTwo \def\CompareFilesConditional #1#2{% TT\fi \if\FileExistsConditional{#1}% \else \errmessage{\string\CompareFilesConditional: first file "#1" does not exist.}% \fi \if\FileExistsConditional{#2}% \else \errmessage{\string\CompareFilesConditional: second file "#2" does not exist.}% \fi \global\@CompareFilesResult = 0 \begingroup \MkOthers \openin\@ReadCompareOne = #1 \openin\@ReadCompareTwo = #2 \@CompareFiles } \def\@CompareFiles{% \read\@ReadCompareOne to \@CompareOneString \read\@ReadCompareTwo to \@CompareTwoString \ifeof\@ReadCompareOne \ifeof\@ReadCompareOne \global\@CompareFilesResult = 1 \else \global\@CompareFilesResult = 2 \fi \else \ifeof\@ReadCompareOne \global\@CompareFilesResult = 2 \else \ifx\@CompareOneString\@CompareTwoString \else \global\@CompareFilesResult = 2 \fi \fi \fi \RecursionMacroEnd {\ifnum \@CompareFilesResult = 0\relax}% {\@CompareFiles}{\@EndCompareFiles}% } \def\@EndCompareFiles{% \endgroup \closein\@ReadCompareOne \closein\@ReadCompareTwo \ifnum\@CompareFilesResult = 1 } \catcode`\@ = 12