2 Implement the getpass function.
4 Copyright (c) 2011 - 2014, Intel Corporation <BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 #include <Library/ShellLib.h>
15 #include <Library/MemoryAllocationLib.h>
16 #include <Library/UefiLib.h>
17 #include <Library/PcdLib.h>
19 static CHAR8
*ReturnStringAscii
= NULL
;
21 char *getpass(const char *Prompt
)
30 ReturnString
= ShellFileHandleReturnLine (gEfiShellParametersProtocol
->StdIn
, &Ascii
);
31 if (ReturnString
== NULL
) {
35 ReturnStringAscii
= AllocateZeroPool((StrLen(ReturnString
)+1)*sizeof(CHAR8
));
36 if (ReturnStringAscii
== NULL
) {
40 UnicodeStrToAsciiStr(ReturnString
, ReturnStringAscii
);
42 FreePool(ReturnString
);
44 return (ReturnStringAscii
);
50 IN EFI_HANDLE ImageHandle
,
51 IN EFI_SYSTEM_TABLE
*SystemTable
54 SHELL_FREE_NON_NULL(ReturnStringAscii
);