]> git.proxmox.com Git - mirror_edk2.git/commitdiff
smbiosview - add user input verification.
authorjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 29 Mar 2011 19:31:18 +0000 (19:31 +0000)
committerjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 29 Mar 2011 19:31:18 +0000 (19:31 +0000)
HexEdit/Edit
 - More user input verification for HexEdit.
 - updated title bar refreshment.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11448 6f19259b-4bc3-4df7-8a09-765794883524

12 files changed:
ShellPkg/Library/UefiShellDebug1CommandsLib/Edit/FileBuffer.c
ShellPkg/Library/UefiShellDebug1CommandsLib/Edit/MainTextEditor.c
ShellPkg/Library/UefiShellDebug1CommandsLib/EditTitleBar.c
ShellPkg/Library/UefiShellDebug1CommandsLib/EditTitleBar.h
ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit/BufferImage.c
ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit/DiskImage.c
ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit/FileImage.c
ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit/HexEdit.c
ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit/MainHexEditor.c
ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosView.c
ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni

index 5843c7807d570817dcb5845ded56ec3fcd58f15a..5b48481913501799bfc0aae15db3dd65c38764b4 100644 (file)
@@ -3134,7 +3134,7 @@ FileBufferReplace (
 \r
   FileBuffer.FileModified       = TRUE;\r
 \r
 \r
   FileBuffer.FileModified       = TRUE;\r
 \r
-  MainTitleBarRefresh (MainEditor.FileBuffer->FileName, MainEditor.FileBuffer->FileType, MainEditor.FileBuffer->ReadOnly, MainEditor.FileBuffer->FileModified, MainEditor.ScreenSize.Column, MainEditor.ScreenSize.Row);\r
+  MainTitleBarRefresh (MainEditor.FileBuffer->FileName, MainEditor.FileBuffer->FileType, MainEditor.FileBuffer->ReadOnly, MainEditor.FileBuffer->FileModified, MainEditor.ScreenSize.Column, MainEditor.ScreenSize.Row, 0, 0);\r
   FileBufferRestorePosition ();\r
   FileBufferRefresh ();\r
 \r
   FileBufferRestorePosition ();\r
   FileBufferRefresh ();\r
 \r
index 7749bdc547500db644a8995b7f691efeae5afdd0..a82fdb9bb8d89cba51b1f6edb5164e2fef5f3a34 100644 (file)
@@ -271,7 +271,7 @@ MainCommandOpenFile (
           return Status;\r
         }\r
 \r
           return Status;\r
         }\r
 \r
-        MainTitleBarRefresh (MainEditor.FileBuffer->FileName, MainEditor.FileBuffer->FileType, MainEditor.FileBuffer->ReadOnly, MainEditor.FileBuffer->FileModified, MainEditor.ScreenSize.Column, MainEditor.ScreenSize.Row);\r
+        MainTitleBarRefresh (MainEditor.FileBuffer->FileName, MainEditor.FileBuffer->FileType, MainEditor.FileBuffer->ReadOnly, MainEditor.FileBuffer->FileModified, MainEditor.ScreenSize.Column, MainEditor.ScreenSize.Row, 0, 0);\r
         FileBufferRestorePosition ();\r
         Done = TRUE;\r
         break;\r
         FileBufferRestorePosition ();\r
         Done = TRUE;\r
         break;\r
@@ -1510,7 +1510,7 @@ MainEditorRefresh (
     || FileBufferBackupVar.FileModified != FileBuffer.FileModified \r
     || FileBufferBackupVar.ReadOnly != FileBuffer.ReadOnly) {\r
 \r
     || FileBufferBackupVar.FileModified != FileBuffer.FileModified \r
     || FileBufferBackupVar.ReadOnly != FileBuffer.ReadOnly) {\r
 \r
-    MainTitleBarRefresh (MainEditor.FileBuffer->FileName, MainEditor.FileBuffer->FileType, MainEditor.FileBuffer->ReadOnly, MainEditor.FileBuffer->FileModified, MainEditor.ScreenSize.Column, MainEditor.ScreenSize.Row);\r
+    MainTitleBarRefresh (MainEditor.FileBuffer->FileName, MainEditor.FileBuffer->FileType, MainEditor.FileBuffer->ReadOnly, MainEditor.FileBuffer->FileModified, MainEditor.ScreenSize.Column, MainEditor.ScreenSize.Row, 0, 0);\r
     FileBufferRestorePosition ();\r
     FileBufferRefresh ();\r
   }\r
     FileBufferRestorePosition ();\r
     FileBufferRefresh ();\r
   }\r
index 1f71c8b18bfc4a1f9a1ad00e92830fca08c830d6..3d818b35099cb128447e22f1d8e8ea2ca0451cde 100644 (file)
@@ -79,6 +79,8 @@ typedef union {
   @param[in] Modified           TRUE if the file was modified.  FALSE otherwise.\r
   @param[in] LastCol            The last printable column.\r
   @param[in] LastRow            The last printable row.\r
   @param[in] Modified           TRUE if the file was modified.  FALSE otherwise.\r
   @param[in] LastCol            The last printable column.\r
   @param[in] LastRow            The last printable row.\r
+  @param[in] Offset             The offset into the file. (only for mem/disk)\r
+  @param[in] Size               The file's size. (only for mem/disk)\r
 \r
   @retval EFI_SUCCESS           The operation was successful.\r
 **/\r
 \r
   @retval EFI_SUCCESS           The operation was successful.\r
 **/\r
@@ -87,10 +89,12 @@ EFIAPI
 MainTitleBarRefresh (\r
   IN CONST CHAR16                 *FileName OPTIONAL,\r
   IN CONST EDIT_FILE_TYPE         FileType,\r
 MainTitleBarRefresh (\r
   IN CONST CHAR16                 *FileName OPTIONAL,\r
   IN CONST EDIT_FILE_TYPE         FileType,\r
-  IN BOOLEAN                      ReadOnly,\r
-  IN BOOLEAN                      Modified,\r
-  IN UINTN                        LastCol,\r
-  IN UINTN                        LastRow\r
+  IN CONST BOOLEAN                ReadOnly,\r
+  IN CONST BOOLEAN                Modified,\r
+  IN CONST UINTN                  LastCol,\r
+  IN CONST UINTN                  LastRow,\r
+  IN CONST UINTN                  Offset,\r
+  IN CONST UINTN                  Size\r
   )\r
 {\r
   TITLE_BAR_COLOR_UNION   Orig;\r
   )\r
 {\r
   TITLE_BAR_COLOR_UNION   Orig;\r
index 908b5a39473dddf359fa94dd6cd0cf04a464b373..d8f420fb804383b2f95fde5a94422e245b82d14d 100644 (file)
@@ -56,6 +56,8 @@ typedef enum {
   @param[in] Modified           TRUE if the file was modified.  FALSE otherwise.\r
   @param[in] LastCol            The last printable column.\r
   @param[in] LastRow            The last printable row.\r
   @param[in] Modified           TRUE if the file was modified.  FALSE otherwise.\r
   @param[in] LastCol            The last printable column.\r
   @param[in] LastRow            The last printable row.\r
+  @param[in] Offset             The offset into the file. (only for mem/disk)\r
+  @param[in] Size               The file's size. (only for mem/disk)\r
 \r
   @retval EFI_SUCCESS           The operation was successful.\r
 **/\r
 \r
   @retval EFI_SUCCESS           The operation was successful.\r
 **/\r
@@ -64,10 +66,12 @@ EFIAPI
 MainTitleBarRefresh (\r
   IN CONST CHAR16                 *FileName OPTIONAL,\r
   IN CONST EDIT_FILE_TYPE         FileType,\r
 MainTitleBarRefresh (\r
   IN CONST CHAR16                 *FileName OPTIONAL,\r
   IN CONST EDIT_FILE_TYPE         FileType,\r
-  IN BOOLEAN                      ReadOnly,\r
-  IN BOOLEAN                      Modified,\r
-  IN UINTN                        LastCol,\r
-  IN UINTN                        LastRow\r
+  IN CONST BOOLEAN                ReadOnly,\r
+  IN CONST BOOLEAN                Modified,\r
+  IN CONST UINTN                  LastCol,\r
+  IN CONST UINTN                  LastRow,\r
+  IN CONST UINTN                  Offset,\r
+  IN CONST UINTN                  Size\r
   );\r
 \r
 #endif\r
   );\r
 \r
 #endif\r
index 04ebd24edc862655e5027977257dbce93f272261..60e0b75435adad5fa3125074fc9fd64458af5b37 100644 (file)
@@ -954,6 +954,7 @@ HBufferImageRead (
   // variable initialization\r
   //\r
   Status = EFI_SUCCESS;\r
   // variable initialization\r
   //\r
   Status = EFI_SUCCESS;\r
+  HBufferImage.BufferType = BufferType;\r
 \r
   //\r
   // three types of buffer supported\r
 \r
   //\r
   // three types of buffer supported\r
index 140db71671247678478d3dfa7747152b3763e5df..86db6aadf25edebcac67209b85ac3be749b16d15 100644 (file)
@@ -219,6 +219,7 @@ Returns:
 {\r
   CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePath;\r
   EFI_DEVICE_PATH_PROTOCOL        *DupDevicePath;\r
 {\r
   CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePath;\r
   EFI_DEVICE_PATH_PROTOCOL        *DupDevicePath;\r
+  EFI_DEVICE_PATH_PROTOCOL        *DupDevicePathForFree;\r
   EFI_HANDLE                      Handle;\r
   EFI_BLOCK_IO_PROTOCOL           *BlkIo;\r
   EFI_STATUS                      Status;\r
   EFI_HANDLE                      Handle;\r
   EFI_BLOCK_IO_PROTOCOL           *BlkIo;\r
   EFI_STATUS                      Status;\r
@@ -241,11 +242,12 @@ Returns:
     return EFI_INVALID_PARAMETER;\r
   }\r
   DupDevicePath = DuplicateDevicePath(DevicePath);\r
     return EFI_INVALID_PARAMETER;\r
   }\r
   DupDevicePath = DuplicateDevicePath(DevicePath);\r
+  DupDevicePathForFree = DupDevicePath;\r
   //\r
   // get blkio interface\r
   //\r
   Status = gBS->LocateDevicePath(&gEfiBlockIoProtocolGuid,&DupDevicePath,&Handle);\r
   //\r
   // get blkio interface\r
   //\r
   Status = gBS->LocateDevicePath(&gEfiBlockIoProtocolGuid,&DupDevicePath,&Handle);\r
-  FreePool(DupDevicePath);\r
+  FreePool(DupDevicePathForFree);\r
   if (EFI_ERROR (Status)) {\r
     StatusBarSetStatusString (L"Read Disk Failed");\r
     return Status;\r
   if (EFI_ERROR (Status)) {\r
     StatusBarSetStatusString (L"Read Disk Failed");\r
     return Status;\r
index adf79281974e77c84807f056109878bb7f0363f4..57cefb882c02faa5b526490ee600757beafe97fd 100644 (file)
@@ -301,6 +301,7 @@ Returns:
   HBufferImage.HighBits               = TRUE;\r
   HBufferImage.BufferPosition.Row     = 1;\r
   HBufferImage.BufferPosition.Column  = 1;\r
   HBufferImage.HighBits               = TRUE;\r
   HBufferImage.BufferPosition.Row     = 1;\r
   HBufferImage.BufferPosition.Column  = 1;\r
+  HBufferImage.BufferType = FileTypeFileBuffer;\r
 \r
   if (!Recover) {\r
     UnicodeBuffer = CatSPrint(NULL, L"%d Lines Read", HBufferImage.NumLines);\r
 \r
   if (!Recover) {\r
     UnicodeBuffer = CatSPrint(NULL, L"%d Lines Read", HBufferImage.NumLines);\r
index 511eb9e6366e66d3b4f374dcb494afbc3a75aa39..0a97a6ca29c226dd9f241df3b6fc4542f12553f1 100644 (file)
@@ -44,7 +44,7 @@ ShellCommandRunHexEdit (
   SHELL_STATUS            ShellStatus;\r
   LIST_ENTRY              *Package;\r
   CONST CHAR16            *Cwd;\r
   SHELL_STATUS            ShellStatus;\r
   LIST_ENTRY              *Package;\r
   CONST CHAR16            *Cwd;\r
-  CHAR16                  *NFS;\r
+  CHAR16                  *NewName;\r
   CHAR16                  *Spot;\r
   CONST CHAR16            *Name;\r
   UINTN                   Offset;\r
   CHAR16                  *Spot;\r
   CONST CHAR16            *Name;\r
   UINTN                   Offset;\r
@@ -54,7 +54,7 @@ ShellCommandRunHexEdit (
 \r
   Buffer      = NULL;\r
   ShellStatus = SHELL_SUCCESS;\r
 \r
   Buffer      = NULL;\r
   ShellStatus = SHELL_SUCCESS;\r
-  NFS         = NULL;\r
+  NewName         = NULL;\r
   Cwd         = NULL;\r
   Buffer      = NULL;\r
   Name        = NULL;\r
   Cwd         = NULL;\r
   Buffer      = NULL;\r
   Name        = NULL;\r
@@ -90,10 +90,7 @@ ShellCommandRunHexEdit (
     // Check for -d\r
     //\r
     if (ShellCommandLineGetFlag(Package, L"-d")){\r
     // Check for -d\r
     //\r
     if (ShellCommandLineGetFlag(Package, L"-d")){\r
-      if (ShellCommandLineGetCount(Package) < 4) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle);\r
-        ShellStatus = SHELL_INVALID_PARAMETER;\r
-      } else if (ShellCommandLineGetCount(Package) > 4) {\r
+      if (ShellCommandLineGetCount(Package) > 4) {\r
         ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle);\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
       } else {\r
         ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle);\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
       } else {\r
@@ -138,7 +135,24 @@ ShellCommandRunHexEdit (
         Size    = ShellStrToUintn(ShellCommandLineGetRawValue(Package, 2));\r
       }\r
     }\r
         Size    = ShellStrToUintn(ShellCommandLineGetRawValue(Package, 2));\r
       }\r
     }\r
-    ShellCommandLineFreeVarList (Package);\r
+    if (WhatToDo == FileTypeNone && ShellCommandLineGetRawValue(Package, 1) != NULL) {\r
+        Name      = ShellCommandLineGetRawValue(Package, 1);\r
+        if (!IsValidFileName(Name)) {\r
+          ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDebug1HiiHandle, Name);\r
+          ShellStatus = SHELL_INVALID_PARAMETER;\r
+        } else {\r
+          WhatToDo  = FileTypeFileBuffer;\r
+        }\r
+    } else if (WhatToDo == FileTypeNone) {\r
+      if (gEfiShellProtocol->GetCurDir(NULL) == NULL) {\r
+        ShellStatus = SHELL_NOT_FOUND;\r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellDebug1HiiHandle);\r
+      } else {\r
+        NewName = EditGetDefaultFileName(L"bin");\r
+        Name = NewName;\r
+        WhatToDo  = FileTypeFileBuffer;\r
+      }\r
+    }\r
 \r
     if (ShellStatus == SHELL_SUCCESS && WhatToDo == FileTypeNone) {\r
       ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle);\r
 \r
     if (ShellStatus == SHELL_SUCCESS && WhatToDo == FileTypeNone) {\r
       ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle);\r
@@ -240,8 +254,10 @@ ShellCommandRunHexEdit (
         }\r
       }\r
     }\r
         }\r
       }\r
     }\r
+    ShellCommandLineFreeVarList (Package);\r
   }\r
 \r
   SHELL_FREE_NON_NULL (Buffer);\r
   }\r
 \r
   SHELL_FREE_NON_NULL (Buffer);\r
+  SHELL_FREE_NON_NULL (NewName);\r
   return ShellStatus;\r
 }\r
   return ShellStatus;\r
 }\r
index 387a1e2d1e9c8850f8ce3c90d8a148b48891e337..961e0cca68f6f08cef73b1212f6c73c476c5430c 100644 (file)
@@ -933,7 +933,9 @@ Returns:
           HMainEditor.BufferImage->FileImage->ReadOnly,\r
           FALSE,\r
           HMainEditor.ScreenSize.Column,\r
           HMainEditor.BufferImage->FileImage->ReadOnly,\r
           FALSE,\r
           HMainEditor.ScreenSize.Column,\r
-          HMainEditor.ScreenSize.Row\r
+          HMainEditor.ScreenSize.Row,\r
+          HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Offset:0,\r
+          HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Size  :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Size  :0\r
           );\r
         Done = TRUE;\r
         break;\r
           );\r
         Done = TRUE;\r
         break;\r
@@ -1158,7 +1160,9 @@ Returns:
           HMainEditor.BufferImage->FileImage->ReadOnly,\r
           FALSE,\r
           HMainEditor.ScreenSize.Column,\r
           HMainEditor.BufferImage->FileImage->ReadOnly,\r
           FALSE,\r
           HMainEditor.ScreenSize.Column,\r
-          HMainEditor.ScreenSize.Row\r
+          HMainEditor.ScreenSize.Row,\r
+          HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Offset:0,\r
+          HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Size  :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Size  :0\r
           );\r
         Done = TRUE;\r
         break;\r
           );\r
         Done = TRUE;\r
         break;\r
@@ -1409,7 +1413,9 @@ Returns:
           HMainEditor.BufferImage->FileImage->ReadOnly,\r
           FALSE,\r
           HMainEditor.ScreenSize.Column,\r
           HMainEditor.BufferImage->FileImage->ReadOnly,\r
           FALSE,\r
           HMainEditor.ScreenSize.Column,\r
-          HMainEditor.ScreenSize.Row\r
+          HMainEditor.ScreenSize.Row,\r
+          HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Offset:0,\r
+          HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Size  :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Size  :0\r
           );\r
         Done = TRUE;\r
         break;\r
           );\r
         Done = TRUE;\r
         break;\r
@@ -1827,6 +1833,25 @@ Returns:
 \r
 --*/\r
 {\r
 \r
 --*/\r
 {\r
+  BOOLEAN NameChange;\r
+  BOOLEAN ReadChange;\r
+\r
+  NameChange = FALSE;\r
+  ReadChange = FALSE;\r
+\r
+  if ( HMainEditor.BufferImage->FileImage != NULL && \r
+       HMainEditor.BufferImage->FileImage->FileName != NULL && \r
+       HBufferImageBackupVar.FileImage != NULL && \r
+       HBufferImageBackupVar.FileImage->FileName != NULL && \r
+       StrCmp (HMainEditor.BufferImage->FileImage->FileName, HBufferImageBackupVar.FileImage->FileName) != 0 ) {\r
+    NameChange = TRUE;\r
+  }\r
+  if ( HMainEditor.BufferImage->FileImage != NULL && \r
+       HBufferImageBackupVar.FileImage != NULL && \r
+       HMainEditor.BufferImage->FileImage->ReadOnly != HBufferImageBackupVar.FileImage->ReadOnly ) {\r
+    ReadChange = TRUE;\r
+  }\r
+\r
   //\r
   // to aVOID screen flicker\r
   // the stall value is from experience\r
   //\r
   // to aVOID screen flicker\r
   // the stall value is from experience\r
@@ -1834,28 +1859,48 @@ Returns:
   gBS->Stall (50);\r
 \r
   //\r
   gBS->Stall (50);\r
 \r
   //\r
-  // call the four components refresh function\r
+  // call the components refresh function\r
   //\r
   //\r
-  MainTitleBarRefresh (\r
-    HMainEditor.BufferImage->BufferType == FileTypeFileBuffer?HMainEditor.BufferImage->FileImage->FileName:HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Name:NULL,\r
-    HMainEditor.BufferImage->BufferType,\r
-    HMainEditor.BufferImage->FileImage->ReadOnly,\r
-    HMainEditor.BufferImage->Modified,\r
-    HMainEditor.ScreenSize.Column,\r
-    HMainEditor.ScreenSize.Row\r
-    );\r
-  HBufferImageRefresh ();\r
-  StatusBarRefresh (\r
-    HEditorFirst,\r
-    HMainEditor.ScreenSize.Row,\r
-    HMainEditor.ScreenSize.Column,\r
-    0,\r
-    0,\r
-    TRUE\r
-    );\r
-  MenuBarRefresh (    \r
-    HMainEditor.ScreenSize.Row,\r
-    HMainEditor.ScreenSize.Column);\r
+  if (HEditorFirst \r
+    || NameChange\r
+    || HMainEditor.BufferImage->BufferType != HBufferImageBackupVar.BufferType \r
+    || HBufferImageBackupVar.Modified != HMainEditor.BufferImage->Modified \r
+    || ReadChange ) {\r
+\r
+    MainTitleBarRefresh (\r
+      HMainEditor.BufferImage->BufferType == FileTypeFileBuffer?HMainEditor.BufferImage->FileImage->FileName:HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Name:NULL,\r
+      HMainEditor.BufferImage->BufferType,\r
+      HMainEditor.BufferImage->FileImage->ReadOnly,\r
+      HMainEditor.BufferImage->Modified,\r
+      HMainEditor.ScreenSize.Column,\r
+      HMainEditor.ScreenSize.Row,\r
+      HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Offset:HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Offset:0,\r
+      HMainEditor.BufferImage->BufferType == FileTypeDiskBuffer?HMainEditor.BufferImage->DiskImage->Size  :HMainEditor.BufferImage->BufferType == FileTypeMemBuffer?HMainEditor.BufferImage->MemImage->Size  :0\r
+      );\r
+    HBufferImageRefresh ();\r
+  }\r
+  if (HEditorFirst\r
+    || HBufferImageBackupVar.DisplayPosition.Row != HMainEditor.BufferImage->DisplayPosition.Row \r
+    || HBufferImageBackupVar.DisplayPosition.Column != HMainEditor.BufferImage->DisplayPosition.Column \r
+    || StatusBarGetRefresh()) {\r
+\r
+    StatusBarRefresh (\r
+      HEditorFirst,\r
+      HMainEditor.ScreenSize.Row,\r
+      HMainEditor.ScreenSize.Column,\r
+      0,\r
+      0,\r
+      TRUE\r
+      );\r
+    HBufferImageRefresh ();\r
+  }\r
+\r
+  if (HEditorFirst) {\r
+    MenuBarRefresh (    \r
+      HMainEditor.ScreenSize.Row,\r
+      HMainEditor.ScreenSize.Column);\r
+    HBufferImageRefresh ();\r
+  }\r
 \r
   //\r
   // EditorFirst is now set to FALSE\r
 \r
   //\r
   // EditorFirst is now set to FALSE\r
index a45a721df320215adf469c57cfddcd22ad399316..b59109c455b2aedc755c773c4f2578c49cb56557 100644 (file)
@@ -65,6 +65,12 @@ ShellCommandRunSmbiosView (
     if (ShellCommandLineGetCount(Package) > 1) {\r
       ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle);\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
     if (ShellCommandLineGetCount(Package) > 1) {\r
       ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle);\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
+    } else if (ShellCommandLineGetFlag(Package, L"-t") && ShellCommandLineGetValue(Package, L"-t") == NULL) {\r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDebug1HiiHandle, L"-t");\r
+      ShellStatus = SHELL_INVALID_PARAMETER;\r
+    } else if (ShellCommandLineGetFlag(Package, L"-h") && ShellCommandLineGetValue(Package, L"-h") == NULL) {\r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDebug1HiiHandle, L"-h");\r
+      ShellStatus = SHELL_INVALID_PARAMETER;\r
     } else if (\r
         (ShellCommandLineGetFlag(Package, L"-t") && ShellCommandLineGetFlag(Package, L"-h")) ||\r
         (ShellCommandLineGetFlag(Package, L"-t") && ShellCommandLineGetFlag(Package, L"-s")) ||\r
     } else if (\r
         (ShellCommandLineGetFlag(Package, L"-t") && ShellCommandLineGetFlag(Package, L"-h")) ||\r
         (ShellCommandLineGetFlag(Package, L"-t") && ShellCommandLineGetFlag(Package, L"-s")) ||\r
index f83785b07144b8a15bce8898de2228644599c2f1..ae600a4743f679b309fe1f1a4e1b3663846947f0 100644 (file)
   Pci.h\r
   DmpStore.c\r
   Dblk.c\r
   Pci.h\r
   DmpStore.c\r
   Dblk.c\r
-  ./SmbiosView/EventLogInfo.c\r
-  ./SmbiosView/PrintInfo.c\r
-  ./SmbiosView/QueryTable.c\r
-  ./SmbiosView/SmbiosView.c\r
-  ./SmbiosView/Smbios.c\r
-  ./SmbiosView/SmbiosViewStrings.uni\r
-  ./SmbiosView/LibSmbiosView.c\r
+  SmbiosView/EventLogInfo.c\r
+  SmbiosView/PrintInfo.c\r
+  SmbiosView/QueryTable.c\r
+  SmbiosView/SmbiosView.c\r
+  SmbiosView/Smbios.c\r
+  SmbiosView/SmbiosViewStrings.uni\r
+  SmbiosView/LibSmbiosView.c\r
   UefiShellDebug1CommandsLib.c\r
   UefiShellDebug1CommandsLib.h\r
   UefiShellDebug1CommandsLib.uni\r
   UefiShellDebug1CommandsLib.c\r
   UefiShellDebug1CommandsLib.h\r
   UefiShellDebug1CommandsLib.uni\r
   EditMenuBar.c\r
   \r
 ## Files specific to the text editor  \r
   EditMenuBar.c\r
   \r
 ## Files specific to the text editor  \r
-  ./Edit/Edit.c\r
-  ./Edit/TextEditor.h\r
-  ./Edit/TextEditorTypes.h\r
-  ./Edit/FileBuffer.h\r
-  ./Edit/FileBuffer.c\r
-  ./Edit/MainTextEditor.h\r
-  ./Edit/MainTextEditor.c\r
-  ./Edit/Misc.h\r
-  ./Edit/Misc.c\r
-  ./Edit/TextEditStrings.uni\r
+  Edit/Edit.c\r
+  Edit/TextEditor.h\r
+  Edit/TextEditorTypes.h\r
+  Edit/FileBuffer.h\r
+  Edit/FileBuffer.c\r
+  Edit/MainTextEditor.h\r
+  Edit/MainTextEditor.c\r
+  Edit/Misc.h\r
+  Edit/Misc.c\r
+  Edit/TextEditStrings.uni\r
   \r
 ## Files specific to the HEX editor\r
   \r
 ## Files specific to the HEX editor\r
-  ./HexEdit/BufferImage.h\r
-  ./HexEdit/BufferImage.c\r
-  ./HexEdit/Clipboard.h\r
-  ./HexEdit/Clipboard.c\r
-  ./HexEdit/DiskImage.h\r
-  ./HexEdit/DiskImage.c\r
-  ./HexEdit/FileImage.h\r
-  ./HexEdit/FileImage.c\r
-  ./HexEdit/HexEdit.c\r
-  ./HexEdit/HexEditor.h\r
-  ./HexEdit/HexEditorTypes.h\r
-  ./HexEdit/HexeditStrings.uni\r
-  ./HexEdit/MainHexEditor.h\r
-  ./HexEdit/MainHexEditor.c\r
-  ./HexEdit/MemImage.h\r
-  ./HexEdit/MemImage.c\r
-  ./HexEdit/Misc.h\r
-  ./HexEdit/Misc.c\r
+  HexEdit/BufferImage.h\r
+  HexEdit/BufferImage.c\r
+  HexEdit/Clipboard.h\r
+  HexEdit/Clipboard.c\r
+  HexEdit/DiskImage.h\r
+  HexEdit/DiskImage.c\r
+  HexEdit/FileImage.h\r
+  HexEdit/FileImage.c\r
+  HexEdit/HexEdit.c\r
+  HexEdit/HexEditor.h\r
+  HexEdit/HexEditorTypes.h\r
+  HexEdit/HexeditStrings.uni\r
+  HexEdit/MainHexEditor.h\r
+  HexEdit/MainHexEditor.c\r
+  HexEdit/MemImage.h\r
+  HexEdit/MemImage.c\r
+  HexEdit/Misc.h\r
+  HexEdit/Misc.c\r
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
index 733ff4d1055dc0a0ed59b75ce8075616a89595a4..a9fcbad9d7eb9810de452af2fb7b4673f0c68a78 100644 (file)
Binary files a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni and b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni differ