]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellAcpiViewCommandLib/AcpiView.c
ShellPkg/AcpiView: Refactor DumpAcpiTableToFile
[mirror_edk2.git] / ShellPkg / Library / UefiShellAcpiViewCommandLib / AcpiView.c
index e524fcb0b27ace37a5148615d6c12d4f6876c59f..d2240b2e89d5668f90060e57f5fd67d3c55c008f 100644 (file)
@@ -27,8 +27,6 @@
 #include "Arm/SbbrValidator.h"\r
 #endif\r
 \r
-EFI_HII_HANDLE gShellAcpiViewHiiHandle = NULL;\r
-\r
 STATIC UINT32             mTableCount;\r
 STATIC UINT32             mBinTableCount;\r
 \r
@@ -48,14 +46,10 @@ DumpAcpiTableToFile (
   IN CONST UINTN   Length\r
   )\r
 {\r
-  EFI_STATUS          Status;\r
   CHAR16              FileNameBuffer[MAX_FILE_NAME_LEN];\r
-  SHELL_FILE_HANDLE   DumpFileHandle;\r
   UINTN               TransferBytes;\r
   SELECTED_ACPI_TABLE *SelectedTable;\r
 \r
-  DumpFileHandle = NULL;\r
-  TransferBytes = Length;\r
   GetSelectedAcpiTable (&SelectedTable);\r
 \r
   UnicodeSPrint (\r
@@ -66,39 +60,9 @@ DumpAcpiTableToFile (
     mBinTableCount++\r
     );\r
 \r
-  Status = ShellOpenFileByName (\r
-             FileNameBuffer,\r
-             &DumpFileHandle,\r
-             EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE,\r
-             0\r
-             );\r
-  if (EFI_ERROR (Status)) {\r
-    ShellPrintHiiEx (\r
-      -1,\r
-      -1,\r
-      NULL,\r
-      STRING_TOKEN (STR_GEN_READONLY_MEDIA),\r
-      gShellAcpiViewHiiHandle,\r
-      L"acpiview"\r
-      );\r
-    return FALSE;\r
-  }\r
-\r
   Print (L"Dumping ACPI table to : %s ... ", FileNameBuffer);\r
 \r
-  Status = ShellWriteFile (\r
-             DumpFileHandle,\r
-             &TransferBytes,\r
-             (VOID*)Ptr\r
-             );\r
-  if (EFI_ERROR (Status)) {\r
-    Print (L"ERROR: Failed to dump table to binary file.\n");\r
-    TransferBytes = 0;\r
-  } else {\r
-    Print (L"DONE.\n");\r
-  }\r
-\r
-  ShellCloseFile (&DumpFileHandle);\r
+  TransferBytes = ShellDumpBufferToFile (FileNameBuffer, Ptr, Length);\r
   return (Length == TransferBytes);\r
 }\r
 \r