]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
MdeModulePkg UdfDxe: Fix VS2010/VS2012 build failure
[mirror_edk2.git] / MdeModulePkg / Universal / Disk / UdfDxe / FileSystemOperations.c
index 904262a2ba5cec52d2c840779e986fe228686de1..4609580b30160c1cf3795a1e75dc9cfba923fd56 100644 (file)
@@ -893,6 +893,15 @@ ReadFile (
   LogicalBlockSize  = LV_BLOCK_SIZE (Volume, UDF_DEFAULT_LV_NUM);\r
   DoFreeAed         = FALSE;\r
 \r
+  //\r
+  // set BytesLeft to suppress incorrect compiler/analyzer warnings\r
+  //\r
+  BytesLeft = 0;\r
+  DataOffset = 0;\r
+  FilePosition = 0;\r
+  FinishedSeeking = FALSE;\r
+  Data = NULL;\r
+\r
   switch (ReadFileInfo->Flags) {\r
   case READ_FILE_GET_FILESIZE:\r
   case READ_FILE_ALLOCATE_AND_READ:\r
@@ -962,9 +971,14 @@ ReadFile (
         );\r
 \r
       ReadFileInfo->FilePosition += ReadFileInfo->FileDataSize;\r
+    } else {\r
+      ASSERT (FALSE);\r
+      return EFI_INVALID_PARAMETER;\r
     }\r
 \r
+    Status = EFI_SUCCESS;\r
     break;\r
+\r
   case LONG_ADS_SEQUENCE:\r
   case SHORT_ADS_SEQUENCE:\r
     //\r
@@ -1077,9 +1091,6 @@ ReadFile (
 \r
         if (FilePosition + ExtentLength > ReadFileInfo->FilePosition) {\r
           Offset = ReadFileInfo->FilePosition - FilePosition;\r
-          if (Offset < 0) {\r
-            Offset = -(Offset);\r
-          }\r
         } else {\r
           Offset = 0;\r
         }\r
@@ -1145,6 +1156,14 @@ ReadFile (
     ASSERT (FALSE);\r
     Status = EFI_UNSUPPORTED;\r
     break;\r
+\r
+  default:\r
+    //\r
+    // A flag value reserved by the ECMA-167 standard (3rd Edition - June\r
+    // 1997); 14.6 ICB Tag; 14.6.8 Flags (RBP 18); was found.\r
+    //\r
+    Status = EFI_UNSUPPORTED;\r
+    break;\r
   }\r
 \r
 Done:\r