CHAR16 *ProblemParam;\r
SHELL_STATUS ShellStatus;\r
LIST_ENTRY *Package;\r
- CONST CHAR16 *Cwd;\r
CHAR16 *NewName;\r
- CHAR16 *Spot;\r
CONST CHAR16 *Name;\r
UINTN Offset;\r
UINTN Size;\r
- UINT64 LastOffset;\r
EDIT_FILE_TYPE WhatToDo;\r
\r
Buffer = NULL;\r
ShellStatus = SHELL_SUCCESS;\r
NewName = NULL;\r
- Cwd = NULL;\r
Buffer = NULL;\r
Name = NULL;\r
- Spot = NULL;\r
Offset = 0;\r
Size = 0;\r
- LastOffset = 0;\r
WhatToDo = FileTypeNone;\r
\r
//\r
}\r
Name = ShellCommandLineGetRawValue(Package, 1);\r
if (WhatToDo == FileTypeNone && Name != NULL) {\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
+ if (ShellCommandLineGetCount(Package) > 2) {\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle);\r
+ ShellStatus = SHELL_INVALID_PARAMETER;\r
+ } else 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
} else if (WhatToDo == FileTypeFileBuffer && ShellGetCurrentDir(NULL) == NULL) {\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellDebug1HiiHandle);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
- } \r
+ }\r
\r
if (ShellStatus == SHELL_SUCCESS) {\r
//\r
switch (WhatToDo) {\r
case FileTypeFileBuffer:\r
Status = HBufferImageRead (\r
- Name,\r
+ Name==NULL?L"":Name,\r
NULL,\r
0,\r
0,\r
case FileTypeDiskBuffer:\r
Status = HBufferImageRead (\r
NULL,\r
- Name,\r
+ Name==NULL?L"":Name,\r
Offset,\r
Size,\r
0,\r
);\r
break;\r
\r
+ default:\r
+ Status = EFI_NOT_FOUND;\r
+ break;\r
}\r
if (!EFI_ERROR (Status)) {\r
HMainEditorRefresh ();\r
//\r
// back up the status string\r
//\r
- Buffer = CatSPrint (NULL, L"%s", StatusBarGetString());\r
+ Buffer = CatSPrint (NULL, L"%s\r\n", StatusBarGetString());\r
}\r
}\r
\r
//\r
// print out the status string\r
//\r
- ShellPrintEx(-1, -1, L"%s", gShellDebug1HiiHandle, Buffer);\r
+ ShellPrintEx(-1, -1, L"%s", Buffer);\r
} else {\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_HEXEDIT_UNKNOWN_EDITOR), gShellDebug1HiiHandle);\r
}\r