* win32/ifchange.bat: prolong Win9X environment.

Index: win32/ifchange.bat
===================================================================
RCS file: /cvs/ruby/src/ruby/win32/ifchange.bat,v
retrieving revision 1.2
diff -U2 -p -r1.2 ifchange.bat
--- win32/ifchange.bat	20 Apr 2005 14:01:45 -0000	1.2
+++ win32/ifchange.bat	9 Jun 2005 04:18:57 -0000
@@ -2,16 +2,25 @@
 :: usage: ifchange target temporary
 
+:: target does not exist or new file differs from it.
+if not exist %1 goto :nonexist
+fc.exe %1 %2 > ~fc~1.tmp
+if errorlevel 1 goto :update
+:: target file is unchanged or fc.exe is broken.
+
 :: check if fc.exe works.
 echo foo > conftest1.tmp
 echo bar > conftest2.tmp
+:: must return non-zero
 fc.exe conftest1.tmp conftest2.tmp > nul
 if not errorlevel 1 goto :brokenfc
 del conftest1.tmp > nul
 del conftest2.tmp > nul
+del ~fc~1.tmp > nul
+goto :unchange
 
-:: target does not exist or new file differs from it.
-if not exist %1 goto :update
-fc.exe %1 %2 > nul
-if errorlevel 1 goto :update
+:: :msys
+:: del ~fc~2.tmp > nul
+:: cmp %1 %2
+:: if errorlevel 1 goto :update
 
 :unchange
@@ -23,8 +32,16 @@ goto :end
 del conftest1.tmp > nul
 del conftest2.tmp > nul
-echo FC.EXE does not work properly.
-echo assuming %1 should be changed.
+:: echo --- | find.exe "---" > nul
+:: if errorlevel 1 goto :msys
+find.exe "***" < ~fc~1.tmp > ~fc~2.tmp
+del ~fc~1.tmp > nul
+copy ~fc~2.tmp ~fc~1.tmp > nul
+del ~fc~2.tmp > nul
+:: for %%I in (~fc~1.tmp) do if %%~zI == 0 del ~fc~1.tmp
+if not exist ~fc~1.tmp goto :unchange
 
 :update
+del ~fc~1.tmp > nul
+:nonexist
 echo %1 updated.
 if exist %1 del %1
