Pārlūkot izejas kodu

Fix detecting file as directory on zOS issue #8051

Mahdi Hosseini 4 gadi atpakaļ
vecāks
revīzija
51bdb51050
1 mainītis faili ar 7 papildinājumiem un 0 dzēšanām
  1. 7 0
      src/google/protobuf/compiler/importer.cc

+ 7 - 0
src/google/protobuf/compiler/importer.cc

@@ -495,10 +495,17 @@ io::ZeroCopyInputStream* DiskSourceTree::OpenDiskFile(
   do {
     ret = stat(filename.c_str(), &sb);
   } while (ret != 0 && errno == EINTR);
+#if defined(_WIN32)
+  if (ret == 0 && sb.st_mode & S_IFDIR) {
+      last_error_message_ = "Input file is a directory.";
+      return NULL;
+  }
+#elif
   if (ret == 0 && S_ISDIR(sb.st_mode)) {
     last_error_message_ = "Input file is a directory.";
     return NULL;
   }
+#endif
   int file_descriptor;
   do {
     file_descriptor = open(filename.c_str(), O_RDONLY);