@@ -748,8 +748,7 @@ FindEndOfXLOG(void)
748
748
exit (1 );
749
749
}
750
750
751
- errno = 0 ;
752
- while ((xlde = readdir (xldir )) != NULL )
751
+ while (errno = 0 , (xlde = readdir (xldir )) != NULL )
753
752
{
754
753
if (strlen (xlde -> d_name ) == 24 &&
755
754
strspn (xlde -> d_name , "0123456789ABCDEF" ) == 24 )
@@ -773,25 +772,27 @@ FindEndOfXLOG(void)
773
772
newXlogSeg = seg ;
774
773
}
775
774
}
776
- errno = 0 ;
777
775
}
778
- #ifdef WIN32
779
776
780
- /*
781
- * This fix is in mingw cvs (runtime/mingwex/dirent.c rev 1.4), but not in
782
- * released version
783
- */
777
+ #ifdef WIN32
778
+ /* Bug in old Mingw dirent.c; fixed in mingw-runtime-3.2, 2003-10-10 */
784
779
if (GetLastError () == ERROR_NO_MORE_FILES )
785
780
errno = 0 ;
786
781
#endif
787
782
788
783
if (errno )
789
784
{
790
- fprintf (stderr , _ ("%s: could not read from directory \"%s\": %s\n" ),
785
+ fprintf (stderr , _ ("%s: could not read directory \"%s\": %s\n" ),
786
+ progname , XLOGDIR , strerror (errno ));
787
+ exit (1 );
788
+ }
789
+
790
+ if (closedir (xldir ))
791
+ {
792
+ fprintf (stderr , _ ("%s: could not close directory \"%s\": %s\n" ),
791
793
progname , XLOGDIR , strerror (errno ));
792
794
exit (1 );
793
795
}
794
- closedir (xldir );
795
796
796
797
/*
797
798
* Finally, convert to new xlog seg size, and advance by one to ensure we
@@ -823,8 +824,7 @@ KillExistingXLOG(void)
823
824
exit (1 );
824
825
}
825
826
826
- errno = 0 ;
827
- while ((xlde = readdir (xldir )) != NULL )
827
+ while (errno = 0 , (xlde = readdir (xldir )) != NULL )
828
828
{
829
829
if (strlen (xlde -> d_name ) == 24 &&
830
830
strspn (xlde -> d_name , "0123456789ABCDEF" ) == 24 )
@@ -837,25 +837,27 @@ KillExistingXLOG(void)
837
837
exit (1 );
838
838
}
839
839
}
840
- errno = 0 ;
841
840
}
842
- #ifdef WIN32
843
841
844
- /*
845
- * This fix is in mingw cvs (runtime/mingwex/dirent.c rev 1.4), but not in
846
- * released version
847
- */
842
+ #ifdef WIN32
843
+ /* Bug in old Mingw dirent.c; fixed in mingw-runtime-3.2, 2003-10-10 */
848
844
if (GetLastError () == ERROR_NO_MORE_FILES )
849
845
errno = 0 ;
850
846
#endif
851
847
852
848
if (errno )
853
849
{
854
- fprintf (stderr , _ ("%s: could not read from directory \"%s\": %s\n" ),
850
+ fprintf (stderr , _ ("%s: could not read directory \"%s\": %s\n" ),
851
+ progname , XLOGDIR , strerror (errno ));
852
+ exit (1 );
853
+ }
854
+
855
+ if (closedir (xldir ))
856
+ {
857
+ fprintf (stderr , _ ("%s: could not close directory \"%s\": %s\n" ),
855
858
progname , XLOGDIR , strerror (errno ));
856
859
exit (1 );
857
860
}
858
- closedir (xldir );
859
861
}
860
862
861
863
@@ -879,8 +881,7 @@ KillExistingArchiveStatus(void)
879
881
exit (1 );
880
882
}
881
883
882
- errno = 0 ;
883
- while ((xlde = readdir (xldir )) != NULL )
884
+ while (errno = 0 , (xlde = readdir (xldir )) != NULL )
884
885
{
885
886
if (strspn (xlde -> d_name , "0123456789ABCDEF" ) == 24 &&
886
887
(strcmp (xlde -> d_name + 24 , ".ready" ) == 0 ||
@@ -894,25 +895,27 @@ KillExistingArchiveStatus(void)
894
895
exit (1 );
895
896
}
896
897
}
897
- errno = 0 ;
898
898
}
899
- #ifdef WIN32
900
899
901
- /*
902
- * This fix is in mingw cvs (runtime/mingwex/dirent.c rev 1.4), but not in
903
- * released version
904
- */
900
+ #ifdef WIN32
901
+ /* Bug in old Mingw dirent.c; fixed in mingw-runtime-3.2, 2003-10-10 */
905
902
if (GetLastError () == ERROR_NO_MORE_FILES )
906
903
errno = 0 ;
907
904
#endif
908
905
909
906
if (errno )
910
907
{
911
- fprintf (stderr , _ ("%s: could not read from directory \"%s\": %s\n" ),
908
+ fprintf (stderr , _ ("%s: could not read directory \"%s\": %s\n" ),
909
+ progname , ARCHSTATDIR , strerror (errno ));
910
+ exit (1 );
911
+ }
912
+
913
+ if (closedir (xldir ))
914
+ {
915
+ fprintf (stderr , _ ("%s: could not close directory \"%s\": %s\n" ),
912
916
progname , ARCHSTATDIR , strerror (errno ));
913
917
exit (1 );
914
918
}
915
- closedir (xldir );
916
919
}
917
920
918
921
0 commit comments