ShellPkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the ShellPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
c411b485b6
commit
47d20b54f9
File diff suppressed because it is too large
Load Diff
@ -62,7 +62,7 @@ HBufferImageRefresh (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HBufferImageHandleInput (
|
||||
IN EFI_INPUT_KEY *Key
|
||||
IN EFI_INPUT_KEY *Key
|
||||
);
|
||||
|
||||
/**
|
||||
@ -92,14 +92,14 @@ HBufferImageBackup (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HBufferImageRead (
|
||||
IN CONST CHAR16 *FileName,
|
||||
IN CONST CHAR16 *DiskName,
|
||||
IN UINTN DiskOffset,
|
||||
IN UINTN DiskSize,
|
||||
IN UINTN MemOffset,
|
||||
IN UINTN MemSize,
|
||||
IN EDIT_FILE_TYPE BufferType,
|
||||
IN BOOLEAN Recover
|
||||
IN CONST CHAR16 *FileName,
|
||||
IN CONST CHAR16 *DiskName,
|
||||
IN UINTN DiskOffset,
|
||||
IN UINTN DiskSize,
|
||||
IN UINTN MemOffset,
|
||||
IN UINTN MemSize,
|
||||
IN EDIT_FILE_TYPE BufferType,
|
||||
IN BOOLEAN Recover
|
||||
);
|
||||
|
||||
/**
|
||||
@ -117,13 +117,13 @@ HBufferImageRead (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HBufferImageSave (
|
||||
IN CHAR16 *FileName,
|
||||
IN CHAR16 *DiskName,
|
||||
IN UINTN DiskOffset,
|
||||
IN UINTN DiskSize,
|
||||
IN UINTN MemOffset,
|
||||
IN UINTN MemSize,
|
||||
IN EDIT_FILE_TYPE BufferType
|
||||
IN CHAR16 *FileName,
|
||||
IN CHAR16 *DiskName,
|
||||
IN UINTN DiskOffset,
|
||||
IN UINTN DiskSize,
|
||||
IN UINTN MemOffset,
|
||||
IN UINTN MemSize,
|
||||
IN EDIT_FILE_TYPE BufferType
|
||||
);
|
||||
|
||||
/**
|
||||
@ -140,7 +140,6 @@ HBufferImageMovePosition (
|
||||
IN BOOLEAN HighBits
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Create a new line and append it to the line list.
|
||||
Fields affected:
|
||||
@ -177,9 +176,9 @@ HBufferImageFree (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HBufferImageDeleteCharacterFromBuffer (
|
||||
IN UINTN Pos,
|
||||
IN UINTN Count,
|
||||
OUT UINT8 *DeleteBuffer
|
||||
IN UINTN Pos,
|
||||
IN UINTN Count,
|
||||
OUT UINT8 *DeleteBuffer
|
||||
);
|
||||
|
||||
/**
|
||||
@ -193,9 +192,9 @@ HBufferImageDeleteCharacterFromBuffer (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HBufferImageAddCharacterToBuffer (
|
||||
IN UINTN Pos,
|
||||
IN UINTN Count,
|
||||
IN UINT8 *AddBuffer
|
||||
IN UINTN Pos,
|
||||
IN UINTN Count,
|
||||
IN UINT8 *AddBuffer
|
||||
);
|
||||
|
||||
/**
|
||||
@ -235,8 +234,8 @@ HBufferImageListToBuffer (
|
||||
**/
|
||||
VOID
|
||||
HBufferImageAdjustMousePosition (
|
||||
IN INT32 TextX,
|
||||
IN INT32 TextY
|
||||
IN INT32 TextX,
|
||||
IN INT32 TextY
|
||||
);
|
||||
|
||||
/**
|
||||
@ -250,8 +249,8 @@ HBufferImageAdjustMousePosition (
|
||||
**/
|
||||
BOOLEAN
|
||||
HBufferImageIsAtHighBits (
|
||||
IN UINTN Column,
|
||||
OUT UINTN *FCol
|
||||
IN UINTN Column,
|
||||
OUT UINTN *FCol
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -9,16 +9,16 @@
|
||||
#include "HexEditor.h"
|
||||
|
||||
typedef struct {
|
||||
UINT8 *Buffer;
|
||||
UINTN Size;
|
||||
UINT8 *Buffer;
|
||||
UINTN Size;
|
||||
} HEFI_EDITOR_CLIPBOARD;
|
||||
|
||||
HEFI_EDITOR_CLIPBOARD HClipBoard;
|
||||
HEFI_EDITOR_CLIPBOARD HClipBoard;
|
||||
|
||||
//
|
||||
// for basic initialization of HClipBoard
|
||||
//
|
||||
HEFI_EDITOR_CLIPBOARD HClipBoardConst = {
|
||||
HEFI_EDITOR_CLIPBOARD HClipBoardConst = {
|
||||
NULL,
|
||||
0
|
||||
};
|
||||
@ -53,7 +53,6 @@ HClipBoardCleanup (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
|
||||
SHELL_FREE_NON_NULL (HClipBoard.Buffer);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
@ -69,8 +68,8 @@ HClipBoardCleanup (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HClipBoardSet (
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN Size
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN Size
|
||||
)
|
||||
{
|
||||
//
|
||||
@ -80,7 +79,7 @@ HClipBoardSet (
|
||||
SHELL_FREE_NON_NULL (HClipBoard.Buffer);
|
||||
HClipBoard.Buffer = Buffer;
|
||||
|
||||
HClipBoard.Size = Size;
|
||||
HClipBoard.Size = Size;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
@ -44,8 +44,8 @@ HClipBoardCleanup (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HClipBoardSet (
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN Size
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN Size
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -9,22 +9,22 @@
|
||||
#include "HexEditor.h"
|
||||
#include <Protocol/BlockIo.h>
|
||||
|
||||
extern EFI_HANDLE HImageHandleBackup;
|
||||
extern HEFI_EDITOR_BUFFER_IMAGE HBufferImage;
|
||||
extern EFI_HANDLE HImageHandleBackup;
|
||||
extern HEFI_EDITOR_BUFFER_IMAGE HBufferImage;
|
||||
|
||||
extern BOOLEAN HBufferImageNeedRefresh;
|
||||
extern BOOLEAN HBufferImageOnlyLineNeedRefresh;
|
||||
extern BOOLEAN HBufferImageMouseNeedRefresh;
|
||||
extern BOOLEAN HBufferImageNeedRefresh;
|
||||
extern BOOLEAN HBufferImageOnlyLineNeedRefresh;
|
||||
extern BOOLEAN HBufferImageMouseNeedRefresh;
|
||||
|
||||
extern HEFI_EDITOR_GLOBAL_EDITOR HMainEditor;
|
||||
|
||||
HEFI_EDITOR_DISK_IMAGE HDiskImage;
|
||||
HEFI_EDITOR_DISK_IMAGE HDiskImageBackupVar;
|
||||
HEFI_EDITOR_DISK_IMAGE HDiskImage;
|
||||
HEFI_EDITOR_DISK_IMAGE HDiskImageBackupVar;
|
||||
|
||||
//
|
||||
// for basic initialization of HDiskImage
|
||||
//
|
||||
HEFI_EDITOR_DISK_IMAGE HDiskImageConst = {
|
||||
HEFI_EDITOR_DISK_IMAGE HDiskImageConst = {
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
@ -70,13 +70,13 @@ HDiskImageBackup (
|
||||
//
|
||||
SHELL_FREE_NON_NULL (HDiskImageBackupVar.Name);
|
||||
|
||||
HDiskImageBackupVar.Name = CatSPrint(NULL, L"%s", HDiskImage.Name);
|
||||
HDiskImageBackupVar.Name = CatSPrint (NULL, L"%s", HDiskImage.Name);
|
||||
if (HDiskImageBackupVar.Name == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
HDiskImageBackupVar.Offset = HDiskImage.Offset;
|
||||
HDiskImageBackupVar.Size = HDiskImage.Size;
|
||||
HDiskImageBackupVar.Offset = HDiskImage.Offset;
|
||||
HDiskImageBackupVar.Size = HDiskImage.Size;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@ -109,9 +109,9 @@ HDiskImageCleanup (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HDiskImageSetDiskNameOffsetSize (
|
||||
IN CONST CHAR16 *Str,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
IN CONST CHAR16 *Str,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
)
|
||||
{
|
||||
if (Str == HDiskImage.Name) {
|
||||
@ -131,8 +131,8 @@ HDiskImageSetDiskNameOffsetSize (
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
HDiskImage.Offset = Offset;
|
||||
HDiskImage.Size = Size;
|
||||
HDiskImage.Offset = Offset;
|
||||
HDiskImage.Size = Size;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@ -152,10 +152,10 @@ HDiskImageSetDiskNameOffsetSize (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HDiskImageRead (
|
||||
IN CONST CHAR16 *DeviceName,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size,
|
||||
IN BOOLEAN Recover
|
||||
IN CONST CHAR16 *DeviceName,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size,
|
||||
IN BOOLEAN Recover
|
||||
)
|
||||
{
|
||||
CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
@ -165,46 +165,49 @@ HDiskImageRead (
|
||||
EFI_BLOCK_IO_PROTOCOL *BlkIo;
|
||||
EFI_STATUS Status;
|
||||
|
||||
VOID *Buffer;
|
||||
CHAR16 *Str;
|
||||
UINTN Bytes;
|
||||
VOID *Buffer;
|
||||
CHAR16 *Str;
|
||||
UINTN Bytes;
|
||||
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
|
||||
HBufferImage.BufferType = FileTypeDiskBuffer;
|
||||
|
||||
DevicePath = gEfiShellProtocol->GetDevicePathFromMap(DeviceName);
|
||||
DevicePath = gEfiShellProtocol->GetDevicePathFromMap (DeviceName);
|
||||
if (DevicePath == NULL) {
|
||||
StatusBarSetStatusString (L"Cannot Find Device");
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
DupDevicePath = DuplicateDevicePath(DevicePath);
|
||||
|
||||
DupDevicePath = DuplicateDevicePath (DevicePath);
|
||||
DupDevicePathForFree = DupDevicePath;
|
||||
//
|
||||
// get blkio interface
|
||||
//
|
||||
Status = gBS->LocateDevicePath(&gEfiBlockIoProtocolGuid,&DupDevicePath,&Handle);
|
||||
FreePool(DupDevicePathForFree);
|
||||
Status = gBS->LocateDevicePath (&gEfiBlockIoProtocolGuid, &DupDevicePath, &Handle);
|
||||
FreePool (DupDevicePathForFree);
|
||||
if (EFI_ERROR (Status)) {
|
||||
StatusBarSetStatusString (L"Read Disk Failed");
|
||||
return Status;
|
||||
}
|
||||
Status = gBS->OpenProtocol(Handle, &gEfiBlockIoProtocolGuid, (VOID**)&BlkIo, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
|
||||
|
||||
Status = gBS->OpenProtocol (Handle, &gEfiBlockIoProtocolGuid, (VOID **)&BlkIo, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
|
||||
if (EFI_ERROR (Status)) {
|
||||
StatusBarSetStatusString (L"Read Disk Failed");
|
||||
return Status;
|
||||
}
|
||||
|
||||
//
|
||||
// if Offset exceeds LastBlock,
|
||||
// return error
|
||||
//
|
||||
if (Offset > BlkIo->Media->LastBlock || Offset + Size > BlkIo->Media->LastBlock) {
|
||||
if ((Offset > BlkIo->Media->LastBlock) || (Offset + Size > BlkIo->Media->LastBlock)) {
|
||||
StatusBarSetStatusString (L"Invalid Offset + Size");
|
||||
return EFI_LOAD_ERROR;
|
||||
}
|
||||
|
||||
Bytes = BlkIo->Media->BlockSize * Size;
|
||||
Buffer = AllocateZeroPool (Bytes);
|
||||
Bytes = BlkIo->Media->BlockSize * Size;
|
||||
Buffer = AllocateZeroPool (Bytes);
|
||||
|
||||
if (Buffer == NULL) {
|
||||
StatusBarSetStatusString (L"Read Disk Failed");
|
||||
@ -246,25 +249,26 @@ HDiskImageRead (
|
||||
StatusBarSetStatusString (L"Read Disk Failed");
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
//
|
||||
// initialize some variables
|
||||
//
|
||||
HDiskImage.BlockSize = BlkIo->Media->BlockSize;
|
||||
HDiskImage.BlockSize = BlkIo->Media->BlockSize;
|
||||
|
||||
HBufferImage.DisplayPosition.Row = 2;
|
||||
HBufferImage.DisplayPosition.Column = 10;
|
||||
|
||||
HBufferImage.MousePosition.Row = 2;
|
||||
HBufferImage.MousePosition.Column = 10;
|
||||
HBufferImage.MousePosition.Row = 2;
|
||||
HBufferImage.MousePosition.Column = 10;
|
||||
|
||||
HBufferImage.LowVisibleRow = 1;
|
||||
HBufferImage.HighBits = TRUE;
|
||||
HBufferImage.LowVisibleRow = 1;
|
||||
HBufferImage.HighBits = TRUE;
|
||||
|
||||
HBufferImage.BufferPosition.Row = 1;
|
||||
HBufferImage.BufferPosition.Column = 1;
|
||||
HBufferImage.BufferPosition.Row = 1;
|
||||
HBufferImage.BufferPosition.Column = 1;
|
||||
|
||||
if (!Recover) {
|
||||
Str = CatSPrint(NULL, L"%d Lines Read", HBufferImage.NumLines);
|
||||
Str = CatSPrint (NULL, L"%d Lines Read", HBufferImage.NumLines);
|
||||
if (Str == NULL) {
|
||||
StatusBarSetStatusString (L"Read Disk Failed");
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
@ -275,7 +279,6 @@ HDiskImageRead (
|
||||
|
||||
HMainEditor.SelectStart = 0;
|
||||
HMainEditor.SelectEnd = 0;
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
@ -283,11 +286,11 @@ HDiskImageRead (
|
||||
//
|
||||
if (HBufferImage.Lines != NULL) {
|
||||
HBufferImage.CurrentLine = CR (
|
||||
HBufferImage.ListHead->ForwardLink,
|
||||
HEFI_EDITOR_LINE,
|
||||
Link,
|
||||
EFI_EDITOR_LINE_LIST
|
||||
);
|
||||
HBufferImage.ListHead->ForwardLink,
|
||||
HEFI_EDITOR_LINE,
|
||||
Link,
|
||||
EFI_EDITOR_LINE_LIST
|
||||
);
|
||||
} else {
|
||||
//
|
||||
// create a dummy line
|
||||
@ -324,12 +327,11 @@ HDiskImageRead (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HDiskImageSave (
|
||||
IN CHAR16 *DeviceName,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
IN CHAR16 *DeviceName,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
)
|
||||
{
|
||||
|
||||
CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL *DupDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL *DupDevicePathForFree;
|
||||
@ -348,35 +350,38 @@ HDiskImageSave (
|
||||
|
||||
HBufferImage.BufferType = FileTypeDiskBuffer;
|
||||
|
||||
DevicePath = gEfiShellProtocol->GetDevicePathFromMap(DeviceName);
|
||||
DevicePath = gEfiShellProtocol->GetDevicePathFromMap (DeviceName);
|
||||
if (DevicePath == NULL) {
|
||||
// StatusBarSetStatusString (L"Cannot Find Device");
|
||||
// StatusBarSetStatusString (L"Cannot Find Device");
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
DupDevicePath = DuplicateDevicePath(DevicePath);
|
||||
|
||||
DupDevicePath = DuplicateDevicePath (DevicePath);
|
||||
DupDevicePathForFree = DupDevicePath;
|
||||
|
||||
//
|
||||
// get blkio interface
|
||||
//
|
||||
Status = gBS->LocateDevicePath(&gEfiBlockIoProtocolGuid,&DupDevicePath,&Handle);
|
||||
FreePool(DupDevicePathForFree);
|
||||
Status = gBS->LocateDevicePath (&gEfiBlockIoProtocolGuid, &DupDevicePath, &Handle);
|
||||
FreePool (DupDevicePathForFree);
|
||||
if (EFI_ERROR (Status)) {
|
||||
// StatusBarSetStatusString (L"Read Disk Failed");
|
||||
return Status;
|
||||
}
|
||||
Status = gBS->OpenProtocol(Handle, &gEfiBlockIoProtocolGuid, (VOID**)&BlkIo, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
|
||||
if (EFI_ERROR (Status)) {
|
||||
// StatusBarSetStatusString (L"Read Disk Failed");
|
||||
// StatusBarSetStatusString (L"Read Disk Failed");
|
||||
return Status;
|
||||
}
|
||||
|
||||
Bytes = BlkIo->Media->BlockSize * Size;
|
||||
Buffer = AllocateZeroPool (Bytes);
|
||||
Status = gBS->OpenProtocol (Handle, &gEfiBlockIoProtocolGuid, (VOID **)&BlkIo, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
|
||||
if (EFI_ERROR (Status)) {
|
||||
// StatusBarSetStatusString (L"Read Disk Failed");
|
||||
return Status;
|
||||
}
|
||||
|
||||
Bytes = BlkIo->Media->BlockSize * Size;
|
||||
Buffer = AllocateZeroPool (Bytes);
|
||||
|
||||
if (Buffer == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
//
|
||||
// concatenate the line list to a buffer
|
||||
//
|
||||
@ -402,6 +407,7 @@ HDiskImageSave (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_LOAD_ERROR;
|
||||
}
|
||||
|
||||
//
|
||||
// now not modified
|
||||
//
|
||||
|
@ -60,10 +60,10 @@ HDiskImageBackup (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HDiskImageRead (
|
||||
IN CONST CHAR16 *DeviceName,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size,
|
||||
IN BOOLEAN Recover
|
||||
IN CONST CHAR16 *DeviceName,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size,
|
||||
IN BOOLEAN Recover
|
||||
);
|
||||
|
||||
/**
|
||||
@ -81,9 +81,9 @@ HDiskImageRead (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HDiskImageSave (
|
||||
IN CHAR16 *DeviceName,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
IN CHAR16 *DeviceName,
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
);
|
||||
|
||||
#endif
|
||||
|
@ -8,22 +8,22 @@
|
||||
|
||||
#include "HexEditor.h"
|
||||
|
||||
extern EFI_HANDLE HImageHandleBackup;
|
||||
extern HEFI_EDITOR_BUFFER_IMAGE HBufferImage;
|
||||
extern EFI_HANDLE HImageHandleBackup;
|
||||
extern HEFI_EDITOR_BUFFER_IMAGE HBufferImage;
|
||||
|
||||
extern BOOLEAN HBufferImageNeedRefresh;
|
||||
extern BOOLEAN HBufferImageOnlyLineNeedRefresh;
|
||||
extern BOOLEAN HBufferImageMouseNeedRefresh;
|
||||
extern BOOLEAN HBufferImageNeedRefresh;
|
||||
extern BOOLEAN HBufferImageOnlyLineNeedRefresh;
|
||||
extern BOOLEAN HBufferImageMouseNeedRefresh;
|
||||
|
||||
extern HEFI_EDITOR_GLOBAL_EDITOR HMainEditor;
|
||||
|
||||
HEFI_EDITOR_FILE_IMAGE HFileImage;
|
||||
HEFI_EDITOR_FILE_IMAGE HFileImageBackupVar;
|
||||
HEFI_EDITOR_FILE_IMAGE HFileImage;
|
||||
HEFI_EDITOR_FILE_IMAGE HFileImageBackupVar;
|
||||
|
||||
//
|
||||
// for basic initialization of HFileImage
|
||||
//
|
||||
HEFI_EDITOR_BUFFER_IMAGE HFileImageConst = {
|
||||
HEFI_EDITOR_BUFFER_IMAGE HFileImageConst = {
|
||||
NULL,
|
||||
0,
|
||||
FALSE
|
||||
@ -66,7 +66,7 @@ HFileImageBackup (
|
||||
)
|
||||
{
|
||||
SHELL_FREE_NON_NULL (HFileImageBackupVar.FileName);
|
||||
HFileImageBackupVar.FileName = CatSPrint(NULL, L"%s", HFileImage.FileName);
|
||||
HFileImageBackupVar.FileName = CatSPrint (NULL, L"%s", HFileImage.FileName);
|
||||
if (HFileImageBackupVar.FileName == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
@ -84,7 +84,6 @@ HFileImageCleanup (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
|
||||
SHELL_FREE_NON_NULL (HFileImage.FileName);
|
||||
SHELL_FREE_NON_NULL (HFileImageBackupVar.FileName);
|
||||
|
||||
@ -101,7 +100,7 @@ HFileImageCleanup (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HFileImageSetFileName (
|
||||
IN CONST CHAR16 *Str
|
||||
IN CONST CHAR16 *Str
|
||||
)
|
||||
{
|
||||
if (Str == HFileImage.FileName) {
|
||||
@ -111,6 +110,7 @@ HFileImageSetFileName (
|
||||
//
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
//
|
||||
// free the old file name
|
||||
//
|
||||
@ -136,18 +136,18 @@ HFileImageSetFileName (
|
||||
EFI_STATUS
|
||||
HFileImageRead (
|
||||
IN CONST CHAR16 *FileName,
|
||||
IN BOOLEAN Recover
|
||||
IN BOOLEAN Recover
|
||||
)
|
||||
{
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
UINT8 *Buffer;
|
||||
CHAR16 *UnicodeBuffer;
|
||||
EFI_STATUS Status;
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
UINT8 *Buffer;
|
||||
CHAR16 *UnicodeBuffer;
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
// variable initialization
|
||||
//
|
||||
Line = NULL;
|
||||
Line = NULL;
|
||||
|
||||
//
|
||||
// in this function, when you return error ( except EFI_OUT_OF_RESOURCES )
|
||||
@ -157,14 +157,14 @@ HFileImageRead (
|
||||
// so if you want to print the error status
|
||||
// you should set the status string
|
||||
//
|
||||
Status = ReadFileIntoBuffer (FileName, (VOID**)&Buffer, &HFileImage.Size, &HFileImage.ReadOnly);
|
||||
Status = ReadFileIntoBuffer (FileName, (VOID **)&Buffer, &HFileImage.Size, &HFileImage.ReadOnly);
|
||||
//
|
||||
// NULL pointer is only also a failure for a non-zero file size.
|
||||
//
|
||||
if ((EFI_ERROR(Status)) || (Buffer == NULL && HFileImage.Size != 0)) {
|
||||
UnicodeBuffer = CatSPrint(NULL, L"Read error on file %s: %r", FileName, Status);
|
||||
if ((EFI_ERROR (Status)) || ((Buffer == NULL) && (HFileImage.Size != 0))) {
|
||||
UnicodeBuffer = CatSPrint (NULL, L"Read error on file %s: %r", FileName, Status);
|
||||
if (UnicodeBuffer == NULL) {
|
||||
SHELL_FREE_NON_NULL(Buffer);
|
||||
SHELL_FREE_NON_NULL (Buffer);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
@ -195,12 +195,12 @@ HFileImageRead (
|
||||
HBufferImage.HighBits = TRUE;
|
||||
HBufferImage.BufferPosition.Row = 1;
|
||||
HBufferImage.BufferPosition.Column = 1;
|
||||
HBufferImage.BufferType = FileTypeFileBuffer;
|
||||
HBufferImage.BufferType = FileTypeFileBuffer;
|
||||
|
||||
if (!Recover) {
|
||||
UnicodeBuffer = CatSPrint(NULL, L"%d Lines Read", HBufferImage.NumLines);
|
||||
UnicodeBuffer = CatSPrint (NULL, L"%d Lines Read", HBufferImage.NumLines);
|
||||
if (UnicodeBuffer == NULL) {
|
||||
SHELL_FREE_NON_NULL(Buffer);
|
||||
SHELL_FREE_NON_NULL (Buffer);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
@ -222,7 +222,7 @@ HFileImageRead (
|
||||
//
|
||||
Line = HBufferImageCreateLine ();
|
||||
if (Line == NULL) {
|
||||
SHELL_FREE_NON_NULL(Buffer);
|
||||
SHELL_FREE_NON_NULL (Buffer);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
@ -248,20 +248,19 @@ HFileImageRead (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HFileImageSave (
|
||||
IN CHAR16 *FileName
|
||||
IN CHAR16 *FileName
|
||||
)
|
||||
{
|
||||
|
||||
LIST_ENTRY *Link;
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
CHAR16 *Str;
|
||||
EFI_STATUS Status;
|
||||
UINTN NumLines;
|
||||
SHELL_FILE_HANDLE FileHandle;
|
||||
UINTN TotalSize;
|
||||
UINT8 *Buffer;
|
||||
UINT8 *Ptr;
|
||||
EDIT_FILE_TYPE BufferTypeBackup;
|
||||
LIST_ENTRY *Link;
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
CHAR16 *Str;
|
||||
EFI_STATUS Status;
|
||||
UINTN NumLines;
|
||||
SHELL_FILE_HANDLE FileHandle;
|
||||
UINTN TotalSize;
|
||||
UINT8 *Buffer;
|
||||
UINT8 *Ptr;
|
||||
EDIT_FILE_TYPE BufferTypeBackup;
|
||||
|
||||
BufferTypeBackup = HBufferImage.BufferType;
|
||||
HBufferImage.BufferType = FileTypeFileBuffer;
|
||||
@ -269,11 +268,11 @@ HFileImageSave (
|
||||
//
|
||||
// if is the old file
|
||||
//
|
||||
if (HFileImage.FileName != NULL && FileName != NULL && StrCmp (FileName, HFileImage.FileName) == 0) {
|
||||
if ((HFileImage.FileName != NULL) && (FileName != NULL) && (StrCmp (FileName, HFileImage.FileName) == 0)) {
|
||||
//
|
||||
// check whether file exists on disk
|
||||
//
|
||||
if (ShellIsFile(FileName) == EFI_SUCCESS) {
|
||||
if (ShellIsFile (FileName) == EFI_SUCCESS) {
|
||||
//
|
||||
// current file exists on disk
|
||||
// so if not modified, then not save
|
||||
@ -281,6 +280,7 @@ HFileImageSave (
|
||||
if (HBufferImage.Modified == FALSE) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
//
|
||||
// if file is read-only, set error
|
||||
//
|
||||
@ -291,7 +291,7 @@ HFileImageSave (
|
||||
}
|
||||
}
|
||||
|
||||
if (ShellIsDirectory(FileName) == EFI_SUCCESS) {
|
||||
if (ShellIsDirectory (FileName) == EFI_SUCCESS) {
|
||||
StatusBarSetStatusString (L"Directory Can Not Be Saved");
|
||||
return EFI_LOAD_ERROR;
|
||||
}
|
||||
@ -303,11 +303,11 @@ HFileImageSave (
|
||||
// the file exits, delete it
|
||||
//
|
||||
Status = ShellDeleteFile (&FileHandle);
|
||||
if (EFI_ERROR (Status) || Status == EFI_WARN_DELETE_FAILURE) {
|
||||
if (EFI_ERROR (Status) || (Status == EFI_WARN_DELETE_FAILURE)) {
|
||||
StatusBarSetStatusString (L"Write File Failed");
|
||||
return EFI_LOAD_ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// write all the lines back to disk
|
||||
@ -320,11 +320,13 @@ HFileImageSave (
|
||||
if (Line->Size != 0) {
|
||||
TotalSize += Line->Size;
|
||||
}
|
||||
|
||||
//
|
||||
// end of if Line -> Size != 0
|
||||
//
|
||||
NumLines++;
|
||||
}
|
||||
|
||||
//
|
||||
// end of for Link
|
||||
//
|
||||
@ -341,12 +343,12 @@ HFileImageSave (
|
||||
CopyMem (Ptr, Line->Buffer, Line->Size);
|
||||
Ptr += Line->Size;
|
||||
}
|
||||
|
||||
//
|
||||
// end of if Line -> Size != 0
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
Status = ShellOpenFileByName (FileName, &FileHandle, EFI_FILE_MODE_READ|EFI_FILE_MODE_WRITE|EFI_FILE_MODE_CREATE, 0);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
@ -361,22 +363,23 @@ HFileImageSave (
|
||||
return EFI_LOAD_ERROR;
|
||||
}
|
||||
|
||||
ShellCloseFile(&FileHandle);
|
||||
ShellCloseFile (&FileHandle);
|
||||
|
||||
HBufferImage.Modified = FALSE;
|
||||
|
||||
//
|
||||
// set status string
|
||||
//
|
||||
Str = CatSPrint(NULL, L"%d Lines Written", NumLines);
|
||||
Str = CatSPrint (NULL, L"%d Lines Written", NumLines);
|
||||
StatusBarSetStatusString (Str);
|
||||
FreePool (Str);
|
||||
|
||||
//
|
||||
// now everything is ready , you can set the new file name to filebuffer
|
||||
//
|
||||
if ((BufferTypeBackup != FileTypeFileBuffer && FileName != NULL) ||
|
||||
(FileName != NULL && HFileImage.FileName != NULL && StringNoCaseCompare (&FileName, &HFileImage.FileName) != 0)){
|
||||
if (((BufferTypeBackup != FileTypeFileBuffer) && (FileName != NULL)) ||
|
||||
((FileName != NULL) && (HFileImage.FileName != NULL) && (StringNoCaseCompare (&FileName, &HFileImage.FileName) != 0)))
|
||||
{
|
||||
//
|
||||
// not the same
|
||||
//
|
||||
|
@ -57,7 +57,7 @@ HFileImageBackup (
|
||||
EFI_STATUS
|
||||
HFileImageRead (
|
||||
IN CONST CHAR16 *FileName,
|
||||
IN BOOLEAN Recover
|
||||
IN BOOLEAN Recover
|
||||
);
|
||||
|
||||
/**
|
||||
@ -71,7 +71,7 @@ HFileImageRead (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HFileImageSave (
|
||||
IN CHAR16 *FileName
|
||||
IN CHAR16 *FileName
|
||||
);
|
||||
|
||||
#endif
|
||||
|
@ -13,12 +13,12 @@
|
||||
//
|
||||
// Global Variables
|
||||
//
|
||||
STATIC CONST SHELL_PARAM_ITEM ParamList[] = {
|
||||
{L"-f", TypeFlag},
|
||||
{L"-d", TypeFlag},
|
||||
{L"-m", TypeFlag},
|
||||
{NULL, TypeMax}
|
||||
};
|
||||
STATIC CONST SHELL_PARAM_ITEM ParamList[] = {
|
||||
{ L"-f", TypeFlag },
|
||||
{ L"-d", TypeFlag },
|
||||
{ L"-m", TypeFlag },
|
||||
{ NULL, TypeMax }
|
||||
};
|
||||
|
||||
/**
|
||||
Function for 'hexedit' command.
|
||||
@ -33,20 +33,20 @@ ShellCommandRunHexEdit (
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
CHAR16 *Buffer;
|
||||
CHAR16 *ProblemParam;
|
||||
SHELL_STATUS ShellStatus;
|
||||
LIST_ENTRY *Package;
|
||||
CHAR16 *NewName;
|
||||
CONST CHAR16 *Name;
|
||||
UINTN Offset;
|
||||
UINTN Size;
|
||||
EDIT_FILE_TYPE WhatToDo;
|
||||
EFI_STATUS Status;
|
||||
CHAR16 *Buffer;
|
||||
CHAR16 *ProblemParam;
|
||||
SHELL_STATUS ShellStatus;
|
||||
LIST_ENTRY *Package;
|
||||
CHAR16 *NewName;
|
||||
CONST CHAR16 *Name;
|
||||
UINTN Offset;
|
||||
UINTN Size;
|
||||
EDIT_FILE_TYPE WhatToDo;
|
||||
|
||||
Buffer = NULL;
|
||||
ShellStatus = SHELL_SUCCESS;
|
||||
NewName = NULL;
|
||||
NewName = NULL;
|
||||
Buffer = NULL;
|
||||
Name = NULL;
|
||||
Offset = 0;
|
||||
@ -56,43 +56,44 @@ ShellCommandRunHexEdit (
|
||||
//
|
||||
// initialize the shell lib (we must be in non-auto-init...)
|
||||
//
|
||||
Status = ShellInitialize();
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
Status = ShellInitialize ();
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
Status = CommandInit();
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
Status = CommandInit ();
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
//
|
||||
// parse the command line
|
||||
//
|
||||
Status = ShellCommandLineParse (ParamList, &Package, &ProblemParam, TRUE);
|
||||
if (EFI_ERROR(Status)) {
|
||||
if (Status == EFI_VOLUME_CORRUPTED && ProblemParam != NULL) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDebug1HiiHandle, L"hexedit", ProblemParam);
|
||||
FreePool(ProblemParam);
|
||||
if (EFI_ERROR (Status)) {
|
||||
if ((Status == EFI_VOLUME_CORRUPTED) && (ProblemParam != NULL)) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDebug1HiiHandle, L"hexedit", ProblemParam);
|
||||
FreePool (ProblemParam);
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else {
|
||||
ASSERT(FALSE);
|
||||
ASSERT (FALSE);
|
||||
}
|
||||
} else {
|
||||
//
|
||||
// Check for -d
|
||||
//
|
||||
if (ShellCommandLineGetFlag(Package, L"-d")){
|
||||
if (ShellCommandLineGetCount(Package) < 4) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle, L"hexedit");
|
||||
if (ShellCommandLineGetFlag (Package, L"-d")) {
|
||||
if (ShellCommandLineGetCount (Package) < 4) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else if (ShellCommandLineGetCount(Package) > 4) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle, L"hexedit");
|
||||
} else if (ShellCommandLineGetCount (Package) > 4) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else {
|
||||
WhatToDo = FileTypeDiskBuffer;
|
||||
Name = ShellCommandLineGetRawValue(Package, 1);
|
||||
Offset = ShellStrToUintn(ShellCommandLineGetRawValue(Package, 2));
|
||||
Size = ShellStrToUintn(ShellCommandLineGetRawValue(Package, 3));
|
||||
Name = ShellCommandLineGetRawValue (Package, 1);
|
||||
Offset = ShellStrToUintn (ShellCommandLineGetRawValue (Package, 2));
|
||||
Size = ShellStrToUintn (ShellCommandLineGetRawValue (Package, 3));
|
||||
}
|
||||
if (Offset == (UINTN)-1 || Size == (UINTN)-1) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDebug1HiiHandle, L"hexedit", L"-d");
|
||||
|
||||
if ((Offset == (UINTN)-1) || (Size == (UINTN)-1)) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDebug1HiiHandle, L"hexedit", L"-d");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
}
|
||||
}
|
||||
@ -100,20 +101,20 @@ ShellCommandRunHexEdit (
|
||||
//
|
||||
// check for -f
|
||||
//
|
||||
if (ShellCommandLineGetFlag(Package, L"-f") && (WhatToDo == FileTypeNone)){
|
||||
if (ShellCommandLineGetCount(Package) < 2) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle, L"hexedit");
|
||||
if (ShellCommandLineGetFlag (Package, L"-f") && (WhatToDo == FileTypeNone)) {
|
||||
if (ShellCommandLineGetCount (Package) < 2) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else if (ShellCommandLineGetCount(Package) > 2) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle, L"hexedit");
|
||||
} else if (ShellCommandLineGetCount (Package) > 2) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else {
|
||||
Name = ShellCommandLineGetRawValue(Package, 1);
|
||||
if (Name == NULL || !IsValidFileName(Name)) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDebug1HiiHandle, L"hexedit", Name);
|
||||
Name = ShellCommandLineGetRawValue (Package, 1);
|
||||
if ((Name == NULL) || !IsValidFileName (Name)) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDebug1HiiHandle, L"hexedit", Name);
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else {
|
||||
WhatToDo = FileTypeFileBuffer;
|
||||
WhatToDo = FileTypeFileBuffer;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -121,46 +122,47 @@ ShellCommandRunHexEdit (
|
||||
//
|
||||
// check for -m
|
||||
//
|
||||
if (ShellCommandLineGetFlag(Package, L"-m") && (WhatToDo == FileTypeNone)){
|
||||
if (ShellCommandLineGetCount(Package) < 3) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle, L"hexedit");
|
||||
if (ShellCommandLineGetFlag (Package, L"-m") && (WhatToDo == FileTypeNone)) {
|
||||
if (ShellCommandLineGetCount (Package) < 3) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else if (ShellCommandLineGetCount(Package) > 3) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle, L"hexedit");
|
||||
} else if (ShellCommandLineGetCount (Package) > 3) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else {
|
||||
WhatToDo = FileTypeMemBuffer;
|
||||
Offset = ShellStrToUintn(ShellCommandLineGetRawValue(Package, 1));
|
||||
Size = ShellStrToUintn(ShellCommandLineGetRawValue(Package, 2));
|
||||
}
|
||||
}
|
||||
Name = ShellCommandLineGetRawValue(Package, 1);
|
||||
if (WhatToDo == FileTypeNone && Name != NULL) {
|
||||
if (ShellCommandLineGetCount(Package) > 2) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else if (!IsValidFileName(Name)) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDebug1HiiHandle, L"hexedit", Name);
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else {
|
||||
WhatToDo = FileTypeFileBuffer;
|
||||
}
|
||||
} else if (WhatToDo == FileTypeNone) {
|
||||
if (gEfiShellProtocol->GetCurDir(NULL) == NULL) {
|
||||
ShellStatus = SHELL_NOT_FOUND;
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellDebug1HiiHandle, L"hexedit");
|
||||
} else {
|
||||
NewName = EditGetDefaultFileName(L"bin");
|
||||
Name = NewName;
|
||||
WhatToDo = FileTypeFileBuffer;
|
||||
Offset = ShellStrToUintn (ShellCommandLineGetRawValue (Package, 1));
|
||||
Size = ShellStrToUintn (ShellCommandLineGetRawValue (Package, 2));
|
||||
}
|
||||
}
|
||||
|
||||
if (ShellStatus == SHELL_SUCCESS && WhatToDo == FileTypeNone) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle, L"hexedit");
|
||||
Name = ShellCommandLineGetRawValue (Package, 1);
|
||||
if ((WhatToDo == FileTypeNone) && (Name != NULL)) {
|
||||
if (ShellCommandLineGetCount (Package) > 2) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else if (!IsValidFileName (Name)) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDebug1HiiHandle, L"hexedit", Name);
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else {
|
||||
WhatToDo = FileTypeFileBuffer;
|
||||
}
|
||||
} else if (WhatToDo == FileTypeNone) {
|
||||
if (gEfiShellProtocol->GetCurDir (NULL) == NULL) {
|
||||
ShellStatus = SHELL_NOT_FOUND;
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellDebug1HiiHandle, L"hexedit");
|
||||
} else {
|
||||
NewName = EditGetDefaultFileName (L"bin");
|
||||
Name = NewName;
|
||||
WhatToDo = FileTypeFileBuffer;
|
||||
}
|
||||
}
|
||||
|
||||
if ((ShellStatus == SHELL_SUCCESS) && (WhatToDo == FileTypeNone)) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else if (WhatToDo == FileTypeFileBuffer && ShellGetCurrentDir(NULL) == NULL) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellDebug1HiiHandle, L"hexedit");
|
||||
} else if ((WhatToDo == FileTypeFileBuffer) && (ShellGetCurrentDir (NULL) == NULL)) {
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellDebug1HiiHandle, L"hexedit");
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
@ -172,62 +174,64 @@ ShellCommandRunHexEdit (
|
||||
if (EFI_ERROR (Status)) {
|
||||
gST->ConOut->ClearScreen (gST->ConOut);
|
||||
gST->ConOut->EnableCursor (gST->ConOut, TRUE);
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_HEXEDIT_INIT_FAILED), gShellDebug1HiiHandle);
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_HEXEDIT_INIT_FAILED), gShellDebug1HiiHandle);
|
||||
} else {
|
||||
HMainEditorBackup ();
|
||||
switch (WhatToDo) {
|
||||
case FileTypeFileBuffer:
|
||||
Status = HBufferImageRead (
|
||||
Name==NULL?L"":Name,
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
FileTypeFileBuffer,
|
||||
FALSE
|
||||
);
|
||||
break;
|
||||
case FileTypeFileBuffer:
|
||||
Status = HBufferImageRead (
|
||||
Name == NULL ? L"" : Name,
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
FileTypeFileBuffer,
|
||||
FALSE
|
||||
);
|
||||
break;
|
||||
|
||||
case FileTypeDiskBuffer:
|
||||
Status = HBufferImageRead (
|
||||
NULL,
|
||||
Name==NULL?L"":Name,
|
||||
Offset,
|
||||
Size,
|
||||
0,
|
||||
0,
|
||||
FileTypeDiskBuffer,
|
||||
FALSE
|
||||
);
|
||||
break;
|
||||
case FileTypeDiskBuffer:
|
||||
Status = HBufferImageRead (
|
||||
NULL,
|
||||
Name == NULL ? L"" : Name,
|
||||
Offset,
|
||||
Size,
|
||||
0,
|
||||
0,
|
||||
FileTypeDiskBuffer,
|
||||
FALSE
|
||||
);
|
||||
break;
|
||||
|
||||
case FileTypeMemBuffer:
|
||||
Status = HBufferImageRead (
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
(UINT32) Offset,
|
||||
Size,
|
||||
FileTypeMemBuffer,
|
||||
FALSE
|
||||
);
|
||||
break;
|
||||
case FileTypeMemBuffer:
|
||||
Status = HBufferImageRead (
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
(UINT32)Offset,
|
||||
Size,
|
||||
FileTypeMemBuffer,
|
||||
FALSE
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
Status = EFI_NOT_FOUND;
|
||||
break;
|
||||
default:
|
||||
Status = EFI_NOT_FOUND;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
HMainEditorRefresh ();
|
||||
Status = HMainEditorKeyInput ();
|
||||
}
|
||||
|
||||
if (Status != EFI_OUT_OF_RESOURCES) {
|
||||
//
|
||||
// back up the status string
|
||||
//
|
||||
Buffer = CatSPrint (NULL, L"%s\r\n", StatusBarGetString());
|
||||
Buffer = CatSPrint (NULL, L"%s\r\n", StatusBarGetString ());
|
||||
}
|
||||
}
|
||||
|
||||
@ -246,22 +250,23 @@ ShellCommandRunHexEdit (
|
||||
// print editor exit code on screen
|
||||
//
|
||||
if (Status == EFI_OUT_OF_RESOURCES) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellDebug1HiiHandle, L"hexedit");
|
||||
} else if (EFI_ERROR(Status)){
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellDebug1HiiHandle, L"hexedit");
|
||||
} else if (EFI_ERROR (Status)) {
|
||||
if (Buffer != NULL) {
|
||||
if (StrCmp (Buffer, L"") != 0) {
|
||||
//
|
||||
// print out the status string
|
||||
//
|
||||
ShellPrintEx(-1, -1, L"%s", Buffer);
|
||||
ShellPrintEx (-1, -1, L"%s", Buffer);
|
||||
} else {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_HEXEDIT_UNKNOWN_EDITOR), gShellDebug1HiiHandle);
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_HEXEDIT_UNKNOWN_EDITOR), gShellDebug1HiiHandle);
|
||||
}
|
||||
} else {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_HEXEDIT_UNKNOWN_EDITOR), gShellDebug1HiiHandle);
|
||||
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_HEXEDIT_UNKNOWN_EDITOR), gShellDebug1HiiHandle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ShellCommandLineFreeVarList (Package);
|
||||
}
|
||||
|
||||
|
@ -14,12 +14,11 @@
|
||||
|
||||
#define EFI_EDITOR_LINE_LIST SIGNATURE_32 ('e', 'e', 'l', 'l')
|
||||
|
||||
#define ASCII_POSITION ((0x10 * 3) + 12)
|
||||
|
||||
#define ASCII_POSITION ((0x10 * 3) + 12)
|
||||
|
||||
typedef struct {
|
||||
UINTN Row;
|
||||
UINTN Column;
|
||||
UINTN Row;
|
||||
UINTN Column;
|
||||
} HEFI_EDITOR_POSITION;
|
||||
|
||||
typedef
|
||||
@ -29,92 +28,90 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
CHAR16 Name[50];
|
||||
CHAR16 Key[3];
|
||||
HEFI_MENU_ITEM_FUNCTION Function;
|
||||
CHAR16 Name[50];
|
||||
CHAR16 Key[3];
|
||||
HEFI_MENU_ITEM_FUNCTION Function;
|
||||
} HMENU_ITEMS;
|
||||
|
||||
typedef struct _HEFI_EDITOR_LINE {
|
||||
UINTN Signature;
|
||||
UINT8 Buffer[0x10];
|
||||
UINTN Size; // unit is Unicode
|
||||
LIST_ENTRY Link;
|
||||
UINTN Signature;
|
||||
UINT8 Buffer[0x10];
|
||||
UINTN Size; // unit is Unicode
|
||||
LIST_ENTRY Link;
|
||||
} HEFI_EDITOR_LINE;
|
||||
|
||||
typedef struct _HEFI_EDITOR_MENU_ITEM {
|
||||
CHAR16 NameToken;
|
||||
CHAR16 FunctionKeyToken;
|
||||
HEFI_MENU_ITEM_FUNCTION Function;
|
||||
CHAR16 NameToken;
|
||||
CHAR16 FunctionKeyToken;
|
||||
HEFI_MENU_ITEM_FUNCTION Function;
|
||||
} HEFI_EDITOR_MENU_ITEM;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Foreground : 4;
|
||||
UINT32 Background : 4;
|
||||
UINT32 Foreground : 4;
|
||||
UINT32 Background : 4;
|
||||
} HEFI_EDITOR_COLOR_ATTRIBUTES;
|
||||
|
||||
typedef union {
|
||||
HEFI_EDITOR_COLOR_ATTRIBUTES Colors;
|
||||
UINTN Data;
|
||||
HEFI_EDITOR_COLOR_ATTRIBUTES Colors;
|
||||
UINTN Data;
|
||||
} HEFI_EDITOR_COLOR_UNION;
|
||||
|
||||
typedef struct {
|
||||
UINTN Columns;
|
||||
UINTN Rows;
|
||||
UINTN Columns;
|
||||
UINTN Rows;
|
||||
} HEFI_EDITOR_TEXT_MODE;
|
||||
|
||||
|
||||
typedef struct {
|
||||
CHAR16 *Name;
|
||||
CHAR16 *Name;
|
||||
|
||||
UINTN BlockSize;
|
||||
UINTN Size;
|
||||
UINTN Offset;
|
||||
UINTN BlockSize;
|
||||
UINTN Size;
|
||||
UINTN Offset;
|
||||
} HEFI_EDITOR_DISK_IMAGE;
|
||||
|
||||
typedef struct {
|
||||
EFI_CPU_IO2_PROTOCOL *IoFncs;
|
||||
UINTN Offset;
|
||||
UINTN Size;
|
||||
EFI_CPU_IO2_PROTOCOL *IoFncs;
|
||||
UINTN Offset;
|
||||
UINTN Size;
|
||||
} HEFI_EDITOR_MEM_IMAGE;
|
||||
|
||||
typedef struct {
|
||||
CHAR16 *FileName;
|
||||
UINTN Size; // file size
|
||||
BOOLEAN ReadOnly; // file is read-only or not
|
||||
CHAR16 *FileName;
|
||||
UINTN Size; // file size
|
||||
BOOLEAN ReadOnly; // file is read-only or not
|
||||
} HEFI_EDITOR_FILE_IMAGE;
|
||||
|
||||
typedef struct {
|
||||
LIST_ENTRY *ListHead; // list head of lines
|
||||
HEFI_EDITOR_LINE *Lines; // lines of current file
|
||||
UINTN NumLines; // number of lines
|
||||
HEFI_EDITOR_LINE *CurrentLine; // current line cursor is at
|
||||
HEFI_EDITOR_POSITION DisplayPosition; // cursor position in screen
|
||||
HEFI_EDITOR_POSITION MousePosition; // mouse position in screen
|
||||
HEFI_EDITOR_POSITION BufferPosition; // cursor position in buffer
|
||||
UINTN LowVisibleRow; // the lowest visible row of file position
|
||||
BOOLEAN HighBits; // cursor is at the high4 bits or low4 bits
|
||||
BOOLEAN Modified; // BUFFER is modified or not
|
||||
EDIT_FILE_TYPE BufferType;
|
||||
|
||||
HEFI_EDITOR_FILE_IMAGE *FileImage;
|
||||
HEFI_EDITOR_DISK_IMAGE *DiskImage;
|
||||
HEFI_EDITOR_MEM_IMAGE *MemImage;
|
||||
LIST_ENTRY *ListHead; // list head of lines
|
||||
HEFI_EDITOR_LINE *Lines; // lines of current file
|
||||
UINTN NumLines; // number of lines
|
||||
HEFI_EDITOR_LINE *CurrentLine; // current line cursor is at
|
||||
HEFI_EDITOR_POSITION DisplayPosition; // cursor position in screen
|
||||
HEFI_EDITOR_POSITION MousePosition; // mouse position in screen
|
||||
HEFI_EDITOR_POSITION BufferPosition; // cursor position in buffer
|
||||
UINTN LowVisibleRow; // the lowest visible row of file position
|
||||
BOOLEAN HighBits; // cursor is at the high4 bits or low4 bits
|
||||
BOOLEAN Modified; // BUFFER is modified or not
|
||||
EDIT_FILE_TYPE BufferType;
|
||||
|
||||
HEFI_EDITOR_FILE_IMAGE *FileImage;
|
||||
HEFI_EDITOR_DISK_IMAGE *DiskImage;
|
||||
HEFI_EDITOR_MEM_IMAGE *MemImage;
|
||||
} HEFI_EDITOR_BUFFER_IMAGE;
|
||||
|
||||
typedef struct {
|
||||
HEFI_EDITOR_BUFFER_IMAGE *BufferImage;
|
||||
HEFI_EDITOR_BUFFER_IMAGE *BufferImage;
|
||||
|
||||
HEFI_EDITOR_COLOR_UNION ColorAttributes;
|
||||
HEFI_EDITOR_POSITION ScreenSize; // row number and column number
|
||||
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
|
||||
BOOLEAN MouseSupported;
|
||||
EFI_SIMPLE_POINTER_PROTOCOL *MouseInterface;
|
||||
INT32 MouseAccumulatorX;
|
||||
INT32 MouseAccumulatorY;
|
||||
HEFI_EDITOR_COLOR_UNION ColorAttributes;
|
||||
HEFI_EDITOR_POSITION ScreenSize; // row number and column number
|
||||
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
|
||||
BOOLEAN MouseSupported;
|
||||
EFI_SIMPLE_POINTER_PROTOCOL *MouseInterface;
|
||||
INT32 MouseAccumulatorX;
|
||||
INT32 MouseAccumulatorY;
|
||||
|
||||
UINTN SelectStart; // starting from 1
|
||||
UINTN SelectEnd; // starting from 1
|
||||
UINTN SelectStart; // starting from 1
|
||||
UINTN SelectEnd; // starting from 1
|
||||
} HEFI_EDITOR_GLOBAL_EDITOR;
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -8,23 +8,23 @@
|
||||
|
||||
#include "HexEditor.h"
|
||||
|
||||
extern EFI_HANDLE HImageHandleBackup;
|
||||
extern EFI_HANDLE HImageHandleBackup;
|
||||
|
||||
extern HEFI_EDITOR_BUFFER_IMAGE HBufferImage;
|
||||
extern HEFI_EDITOR_BUFFER_IMAGE HBufferImage;
|
||||
|
||||
extern BOOLEAN HBufferImageNeedRefresh;
|
||||
extern BOOLEAN HBufferImageOnlyLineNeedRefresh;
|
||||
extern BOOLEAN HBufferImageMouseNeedRefresh;
|
||||
extern BOOLEAN HBufferImageNeedRefresh;
|
||||
extern BOOLEAN HBufferImageOnlyLineNeedRefresh;
|
||||
extern BOOLEAN HBufferImageMouseNeedRefresh;
|
||||
|
||||
extern HEFI_EDITOR_GLOBAL_EDITOR HMainEditor;
|
||||
|
||||
HEFI_EDITOR_MEM_IMAGE HMemImage;
|
||||
HEFI_EDITOR_MEM_IMAGE HMemImageBackupVar;
|
||||
HEFI_EDITOR_MEM_IMAGE HMemImage;
|
||||
HEFI_EDITOR_MEM_IMAGE HMemImageBackupVar;
|
||||
|
||||
//
|
||||
// for basic initialization of HDiskImage
|
||||
//
|
||||
HEFI_EDITOR_MEM_IMAGE HMemImageConst = {
|
||||
HEFI_EDITOR_MEM_IMAGE HMemImageConst = {
|
||||
NULL,
|
||||
0,
|
||||
0
|
||||
@ -49,10 +49,10 @@ HMemImageInit (
|
||||
CopyMem (&HMemImage, &HMemImageConst, sizeof (HMemImage));
|
||||
|
||||
Status = gBS->LocateProtocol (
|
||||
&gEfiCpuIo2ProtocolGuid,
|
||||
NULL,
|
||||
(VOID**)&HMemImage.IoFncs
|
||||
);
|
||||
&gEfiCpuIo2ProtocolGuid,
|
||||
NULL,
|
||||
(VOID **)&HMemImage.IoFncs
|
||||
);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
return EFI_SUCCESS;
|
||||
} else {
|
||||
@ -88,13 +88,12 @@ HMemImageBackup (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HMemImageSetMemOffsetSize (
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
)
|
||||
{
|
||||
|
||||
HMemImage.Offset = Offset;
|
||||
HMemImage.Size = Size;
|
||||
HMemImage.Offset = Offset;
|
||||
HMemImage.Size = Size;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@ -112,32 +111,31 @@ HMemImageSetMemOffsetSize (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HMemImageRead (
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size,
|
||||
IN BOOLEAN Recover
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size,
|
||||
IN BOOLEAN Recover
|
||||
)
|
||||
{
|
||||
|
||||
EFI_STATUS Status;
|
||||
void *Buffer;
|
||||
CHAR16 *Str;
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
EFI_STATUS Status;
|
||||
void *Buffer;
|
||||
CHAR16 *Str;
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
|
||||
HBufferImage.BufferType = FileTypeMemBuffer;
|
||||
|
||||
Buffer = AllocateZeroPool (Size);
|
||||
Buffer = AllocateZeroPool (Size);
|
||||
if (Buffer == NULL) {
|
||||
StatusBarSetStatusString (L"Read Memory Failed");
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
Status = HMemImage.IoFncs->Mem.Read (
|
||||
HMemImage.IoFncs,
|
||||
EfiCpuIoWidthUint8,
|
||||
Offset,
|
||||
Size,
|
||||
Buffer
|
||||
);
|
||||
HMemImage.IoFncs,
|
||||
EfiCpuIoWidthUint8,
|
||||
Offset,
|
||||
Size,
|
||||
Buffer
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
FreePool (Buffer);
|
||||
@ -155,22 +153,22 @@ HMemImageRead (
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = HMemImageSetMemOffsetSize (Offset, Size);
|
||||
Status = HMemImageSetMemOffsetSize (Offset, Size);
|
||||
|
||||
HBufferImage.DisplayPosition.Row = 2;
|
||||
HBufferImage.DisplayPosition.Column = 10;
|
||||
|
||||
HBufferImage.MousePosition.Row = 2;
|
||||
HBufferImage.MousePosition.Column = 10;
|
||||
HBufferImage.MousePosition.Row = 2;
|
||||
HBufferImage.MousePosition.Column = 10;
|
||||
|
||||
HBufferImage.LowVisibleRow = 1;
|
||||
HBufferImage.HighBits = TRUE;
|
||||
HBufferImage.LowVisibleRow = 1;
|
||||
HBufferImage.HighBits = TRUE;
|
||||
|
||||
HBufferImage.BufferPosition.Row = 1;
|
||||
HBufferImage.BufferPosition.Column = 1;
|
||||
HBufferImage.BufferPosition.Row = 1;
|
||||
HBufferImage.BufferPosition.Column = 1;
|
||||
|
||||
if (!Recover) {
|
||||
Str = CatSPrint(NULL, L"%d Lines Read", HBufferImage.NumLines);
|
||||
Str = CatSPrint (NULL, L"%d Lines Read", HBufferImage.NumLines);
|
||||
if (Str == NULL) {
|
||||
StatusBarSetStatusString (L"Read Memory Failed");
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
@ -181,7 +179,6 @@ HMemImageRead (
|
||||
|
||||
HMainEditor.SelectStart = 0;
|
||||
HMainEditor.SelectEnd = 0;
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
@ -208,7 +205,6 @@ HMemImageRead (
|
||||
HBufferImageMouseNeedRefresh = TRUE;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -223,13 +219,12 @@ HMemImageRead (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HMemImageSave (
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
)
|
||||
{
|
||||
|
||||
EFI_STATUS Status;
|
||||
VOID *Buffer;
|
||||
EFI_STATUS Status;
|
||||
VOID *Buffer;
|
||||
|
||||
//
|
||||
// not modified, so directly return
|
||||
@ -240,7 +235,7 @@ HMemImageSave (
|
||||
|
||||
HBufferImage.BufferType = FileTypeMemBuffer;
|
||||
|
||||
Buffer = AllocateZeroPool (Size);
|
||||
Buffer = AllocateZeroPool (Size);
|
||||
|
||||
if (Buffer == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
@ -251,22 +246,24 @@ HMemImageSave (
|
||||
FreePool (Buffer);
|
||||
return Status;
|
||||
}
|
||||
|
||||
//
|
||||
// write back to memory
|
||||
//
|
||||
Status = HMemImage.IoFncs->Mem.Write (
|
||||
HMemImage.IoFncs,
|
||||
EfiCpuIoWidthUint8,
|
||||
Offset,
|
||||
Size,
|
||||
Buffer
|
||||
);
|
||||
HMemImage.IoFncs,
|
||||
EfiCpuIoWidthUint8,
|
||||
Offset,
|
||||
Size,
|
||||
Buffer
|
||||
);
|
||||
|
||||
FreePool (Buffer);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_LOAD_ERROR;
|
||||
}
|
||||
|
||||
//
|
||||
// now not modified
|
||||
//
|
||||
@ -274,5 +271,3 @@ HMemImageSave (
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
@ -45,8 +45,8 @@ HMemImageBackup (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HMemImageSetMemOffsetSize (
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
);
|
||||
|
||||
/**
|
||||
@ -62,9 +62,9 @@ HMemImageSetMemOffsetSize (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HMemImageRead (
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size,
|
||||
IN BOOLEAN Recover
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size,
|
||||
IN BOOLEAN Recover
|
||||
);
|
||||
|
||||
/**
|
||||
@ -79,8 +79,8 @@ HMemImageRead (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HMemImageSave (
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
IN UINTN Offset,
|
||||
IN UINTN Size
|
||||
);
|
||||
|
||||
#endif
|
||||
|
@ -17,15 +17,14 @@ extern BOOLEAN HEditorMouseAction;
|
||||
**/
|
||||
VOID
|
||||
HLineFree (
|
||||
IN HEFI_EDITOR_LINE *Src
|
||||
IN HEFI_EDITOR_LINE *Src
|
||||
)
|
||||
{
|
||||
if (Src == NULL) {
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
SHELL_FREE_NON_NULL (Src);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -38,7 +37,7 @@ HLineFree (
|
||||
**/
|
||||
HEFI_EDITOR_LINE *
|
||||
HLineAdvance (
|
||||
IN UINTN Count
|
||||
IN UINTN Count
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
@ -73,7 +72,7 @@ HLineAdvance (
|
||||
**/
|
||||
HEFI_EDITOR_LINE *
|
||||
HLineRetreat (
|
||||
IN UINTN Count
|
||||
IN UINTN Count
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
@ -110,7 +109,7 @@ HLineRetreat (
|
||||
**/
|
||||
HEFI_EDITOR_LINE *
|
||||
HMoveLine (
|
||||
IN INTN Count
|
||||
IN INTN Count
|
||||
)
|
||||
{
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
@ -122,8 +121,8 @@ HMoveLine (
|
||||
// do not set currentline to Line
|
||||
//
|
||||
if (Count <= 0) {
|
||||
AbsCount = (UINTN)ABS(Count);
|
||||
Line = HLineRetreat (AbsCount);
|
||||
AbsCount = (UINTN)ABS (Count);
|
||||
Line = HLineRetreat (AbsCount);
|
||||
} else {
|
||||
Line = HLineAdvance ((UINTN)Count);
|
||||
}
|
||||
@ -143,7 +142,7 @@ HMoveLine (
|
||||
**/
|
||||
HEFI_EDITOR_LINE *
|
||||
HMoveCurrentLine (
|
||||
IN INTN Count
|
||||
IN INTN Count
|
||||
)
|
||||
{
|
||||
HEFI_EDITOR_LINE *Line;
|
||||
@ -154,8 +153,8 @@ HMoveCurrentLine (
|
||||
// >0: advance
|
||||
//
|
||||
if (Count <= 0) {
|
||||
AbsCount = (UINTN)ABS(Count);
|
||||
Line = HLineRetreat (AbsCount);
|
||||
AbsCount = (UINTN)ABS (Count);
|
||||
Line = HLineRetreat (AbsCount);
|
||||
} else {
|
||||
Line = HLineAdvance ((UINTN)Count);
|
||||
}
|
||||
@ -169,7 +168,6 @@ HMoveCurrentLine (
|
||||
return Line;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Free all the lines in HBufferImage.
|
||||
Fields affected:
|
||||
@ -185,8 +183,8 @@ HMoveCurrentLine (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HFreeLines (
|
||||
IN LIST_ENTRY *ListHead,
|
||||
IN HEFI_EDITOR_LINE *Lines
|
||||
IN LIST_ENTRY *ListHead,
|
||||
IN HEFI_EDITOR_LINE *Lines
|
||||
)
|
||||
{
|
||||
LIST_ENTRY *Link;
|
||||
@ -196,18 +194,17 @@ HFreeLines (
|
||||
// release all the lines
|
||||
//
|
||||
if (Lines != NULL) {
|
||||
|
||||
Line = Lines;
|
||||
Link = &(Line->Link);
|
||||
Line = Lines;
|
||||
Link = &(Line->Link);
|
||||
do {
|
||||
Line = CR (Link, HEFI_EDITOR_LINE, Link, EFI_EDITOR_LINE_LIST);
|
||||
Link = Link->ForwardLink;
|
||||
Line = CR (Link, HEFI_EDITOR_LINE, Link, EFI_EDITOR_LINE_LIST);
|
||||
Link = Link->ForwardLink;
|
||||
HLineFree (Line);
|
||||
} while (Link != ListHead);
|
||||
}
|
||||
|
||||
ListHead->ForwardLink = ListHead;
|
||||
ListHead->BackLink = ListHead;
|
||||
ListHead->BackLink = ListHead;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@ -221,15 +218,15 @@ HFreeLines (
|
||||
**/
|
||||
INT32
|
||||
HGetTextX (
|
||||
IN INT32 GuidX
|
||||
IN INT32 GuidX
|
||||
)
|
||||
{
|
||||
INT32 Gap;
|
||||
INT32 Gap;
|
||||
|
||||
HMainEditor.MouseAccumulatorX += GuidX;
|
||||
Gap = (HMainEditor.MouseAccumulatorX * (INT32) HMainEditor.ScreenSize.Column) / (INT32) (50 * (INT32) HMainEditor.MouseInterface->Mode->ResolutionX);
|
||||
HMainEditor.MouseAccumulatorX = (HMainEditor.MouseAccumulatorX * (INT32) HMainEditor.ScreenSize.Column) % (INT32) (50 * (INT32) HMainEditor.MouseInterface->Mode->ResolutionX);
|
||||
HMainEditor.MouseAccumulatorX = HMainEditor.MouseAccumulatorX / (INT32) HMainEditor.ScreenSize.Column;
|
||||
Gap = (HMainEditor.MouseAccumulatorX * (INT32)HMainEditor.ScreenSize.Column) / (INT32)(50 * (INT32)HMainEditor.MouseInterface->Mode->ResolutionX);
|
||||
HMainEditor.MouseAccumulatorX = (HMainEditor.MouseAccumulatorX * (INT32)HMainEditor.ScreenSize.Column) % (INT32)(50 * (INT32)HMainEditor.MouseInterface->Mode->ResolutionX);
|
||||
HMainEditor.MouseAccumulatorX = HMainEditor.MouseAccumulatorX / (INT32)HMainEditor.ScreenSize.Column;
|
||||
return Gap;
|
||||
}
|
||||
|
||||
@ -242,15 +239,15 @@ HGetTextX (
|
||||
**/
|
||||
INT32
|
||||
HGetTextY (
|
||||
IN INT32 GuidY
|
||||
IN INT32 GuidY
|
||||
)
|
||||
{
|
||||
INT32 Gap;
|
||||
INT32 Gap;
|
||||
|
||||
HMainEditor.MouseAccumulatorY += GuidY;
|
||||
Gap = (HMainEditor.MouseAccumulatorY * (INT32) HMainEditor.ScreenSize.Row) / (INT32) (50 * (INT32) HMainEditor.MouseInterface->Mode->ResolutionY);
|
||||
HMainEditor.MouseAccumulatorY = (HMainEditor.MouseAccumulatorY * (INT32) HMainEditor.ScreenSize.Row) % (INT32) (50 * (INT32) HMainEditor.MouseInterface->Mode->ResolutionY);
|
||||
HMainEditor.MouseAccumulatorY = HMainEditor.MouseAccumulatorY / (INT32) HMainEditor.ScreenSize.Row;
|
||||
Gap = (HMainEditor.MouseAccumulatorY * (INT32)HMainEditor.ScreenSize.Row) / (INT32)(50 * (INT32)HMainEditor.MouseInterface->Mode->ResolutionY);
|
||||
HMainEditor.MouseAccumulatorY = (HMainEditor.MouseAccumulatorY * (INT32)HMainEditor.ScreenSize.Row) % (INT32)(50 * (INT32)HMainEditor.MouseInterface->Mode->ResolutionY);
|
||||
HMainEditor.MouseAccumulatorY = HMainEditor.MouseAccumulatorY / (INT32)HMainEditor.ScreenSize.Row;
|
||||
|
||||
return Gap;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
**/
|
||||
HEFI_EDITOR_LINE *
|
||||
HMoveLine (
|
||||
IN INTN Count
|
||||
IN INTN Count
|
||||
);
|
||||
|
||||
/**
|
||||
@ -38,7 +38,7 @@ HMoveLine (
|
||||
**/
|
||||
HEFI_EDITOR_LINE *
|
||||
HMoveCurrentLine (
|
||||
IN INTN Count
|
||||
IN INTN Count
|
||||
);
|
||||
|
||||
/**
|
||||
@ -56,8 +56,8 @@ HMoveCurrentLine (
|
||||
**/
|
||||
EFI_STATUS
|
||||
HFreeLines (
|
||||
IN LIST_ENTRY *ListHead,
|
||||
IN HEFI_EDITOR_LINE *Lines
|
||||
IN LIST_ENTRY *ListHead,
|
||||
IN HEFI_EDITOR_LINE *Lines
|
||||
);
|
||||
|
||||
/**
|
||||
@ -69,7 +69,7 @@ HFreeLines (
|
||||
**/
|
||||
INT32
|
||||
HGetTextX (
|
||||
IN INT32 GuidX
|
||||
IN INT32 GuidX
|
||||
);
|
||||
|
||||
/**
|
||||
@ -81,7 +81,7 @@ HGetTextX (
|
||||
**/
|
||||
INT32
|
||||
HGetTextY (
|
||||
IN INT32 GuidY
|
||||
IN INT32 GuidY
|
||||
);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user