Changeset 99404 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/ShellPkg/Library/UefiShellLevel3CommandsLib/Echo.c
- Timestamp:
- Apr 14, 2023 3:17:44 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 156854
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/FirmwareNew
-
Property svn:mergeinfo
changed from (toggle deleted branches)
to (toggle deleted branches)/vendor/edk2/current 103735-103757,103769-103776,129194-145445 /vendor/edk2/current 103735-103757,103769-103776,129194-156846
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/ShellPkg/Library/UefiShellLevel3CommandsLib/Echo.c
r80721 r99404 12 12 #include <Library/ShellLib.h> 13 13 14 STATIC CONST SHELL_PARAM_ITEM ParamList[] = {15 { L"-on", TypeFlag},16 { L"-off", TypeFlag},17 { NULL, TypeMax}18 14 STATIC CONST SHELL_PARAM_ITEM ParamList[] = { 15 { L"-on", TypeFlag }, 16 { L"-off", TypeFlag }, 17 { NULL, TypeMax } 18 }; 19 19 20 20 /** … … 31 31 ) 32 32 { 33 EFI_STATUS 34 LIST_ENTRY 35 SHELL_STATUS 36 UINTN 37 CHAR16 38 UINTN 39 CHAR16 33 EFI_STATUS Status; 34 LIST_ENTRY *Package; 35 SHELL_STATUS ShellStatus; 36 UINTN ParamCount; 37 CHAR16 *ProblemParam; 38 UINTN Size; 39 CHAR16 *PrintString; 40 40 41 Size 42 ProblemParam 43 PrintString 44 ShellStatus 41 Size = 0; 42 ProblemParam = NULL; 43 PrintString = NULL; 44 ShellStatus = SHELL_SUCCESS; 45 45 46 46 // 47 47 // initialize the shell lib (we must be in non-auto-init...) 48 48 // 49 Status = ShellInitialize ();50 ASSERT_EFI_ERROR (Status);49 Status = ShellInitialize (); 50 ASSERT_EFI_ERROR (Status); 51 51 52 52 // … … 54 54 // 55 55 Status = ShellCommandLineParseEx (ParamList, &Package, &ProblemParam, TRUE, TRUE); 56 if (EFI_ERROR (Status)) {57 if ( Status == EFI_VOLUME_CORRUPTED && ProblemParam != NULL) {58 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellLevel3HiiHandle, L"echo", ProblemParam);59 FreePool (ProblemParam);56 if (EFI_ERROR (Status)) { 57 if ((Status == EFI_VOLUME_CORRUPTED) && (ProblemParam != NULL)) { 58 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellLevel3HiiHandle, L"echo", ProblemParam); 59 FreePool (ProblemParam); 60 60 ShellStatus = SHELL_INVALID_PARAMETER; 61 61 } else { 62 ASSERT (FALSE);62 ASSERT (FALSE); 63 63 } 64 64 } else { … … 66 66 // check for "-?" 67 67 // 68 if (ShellCommandLineGetFlag (Package, L"-?")) {69 ASSERT (FALSE);68 if (ShellCommandLineGetFlag (Package, L"-?")) { 69 ASSERT (FALSE); 70 70 } 71 if (ShellCommandLineGetFlag(Package, L"-on")) { 71 72 if (ShellCommandLineGetFlag (Package, L"-on")) { 72 73 // 73 74 // Turn it on 74 75 // 75 ShellCommandSetEchoState (TRUE);76 } else if (ShellCommandLineGetFlag (Package, L"-off")) {76 ShellCommandSetEchoState (TRUE); 77 } else if (ShellCommandLineGetFlag (Package, L"-off")) { 77 78 // 78 79 // turn it off 79 80 // 80 ShellCommandSetEchoState (FALSE);81 } else if (ShellCommandLineGetRawValue (Package, 1) == NULL) {81 ShellCommandSetEchoState (FALSE); 82 } else if (ShellCommandLineGetRawValue (Package, 1) == NULL) { 82 83 // 83 84 // output its current state 84 85 // 85 if (ShellCommandGetEchoState ()) {86 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_ECHO_ON), gShellLevel3HiiHandle);86 if (ShellCommandGetEchoState ()) { 87 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_ECHO_ON), gShellLevel3HiiHandle); 87 88 } else { 88 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_ECHO_OFF), gShellLevel3HiiHandle);89 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_ECHO_OFF), gShellLevel3HiiHandle); 89 90 } 90 91 } else { … … 93 94 // 94 95 for ( ParamCount = 1 95 ; ShellCommandLineGetRawValue(Package, ParamCount) != NULL 96 ; ParamCount++ 97 ) { 98 StrnCatGrow(&PrintString, &Size, ShellCommandLineGetRawValue(Package, ParamCount), 0); 99 if (ShellCommandLineGetRawValue(Package, ParamCount+1) != NULL) { 100 StrnCatGrow(&PrintString, &Size, L" ", 0); 96 ; ShellCommandLineGetRawValue (Package, ParamCount) != NULL 97 ; ParamCount++ 98 ) 99 { 100 StrnCatGrow (&PrintString, &Size, ShellCommandLineGetRawValue (Package, ParamCount), 0); 101 if (ShellCommandLineGetRawValue (Package, ParamCount+1) != NULL) { 102 StrnCatGrow (&PrintString, &Size, L" ", 0); 101 103 } 102 104 } 103 ShellPrintEx(-1, -1, L"%s\r\n", PrintString); 104 SHELL_FREE_NON_NULL(PrintString); 105 106 ShellPrintEx (-1, -1, L"%s\r\n", PrintString); 107 SHELL_FREE_NON_NULL (PrintString); 105 108 } 106 109 … … 113 116 return (ShellStatus); 114 117 } 115
Note:
See TracChangeset
for help on using the changeset viewer.