From 39157531c836143b1da4a90dd686160bc3f6d197 Mon Sep 17 00:00:00 2001 From: jljusten Date: Wed, 17 Jun 2009 08:02:21 +0000 Subject: [PATCH] Fix build of ShellC Lib/App for GCC. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8582 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Application/ShellCTestApp/ShellCTestApp.c | 20 +++++++--- ShellPkg/Include/Library/ShellCEntryLib.h | 32 ---------------- .../UefiShellCEntryLib/UefiShellCEntryLib.c | 38 ++++++++++++++----- 3 files changed, 43 insertions(+), 47 deletions(-) delete mode 100644 ShellPkg/Include/Library/ShellCEntryLib.h diff --git a/ShellPkg/Application/ShellCTestApp/ShellCTestApp.c b/ShellPkg/Application/ShellCTestApp/ShellCTestApp.c index 8e771afaeb..44f50790c0 100644 --- a/ShellPkg/Application/ShellCTestApp/ShellCTestApp.c +++ b/ShellPkg/Application/ShellCTestApp/ShellCTestApp.c @@ -17,11 +17,19 @@ #include #include -INT32 +INTN EFIAPI -main( - UINTN Argc, - CHAR16 **Argv - ){ - Print(L"Test Complete\r\n"); +ShellAppMain ( + IN INTN Argc, + IN CHAR16 **Argv + ) +{ + INTN Index; + + Print(L"ShellCTestApp.c:ShellAppMain called with %d parameters\n", Argc); + for (Index = 0; Index < Argc; Index++) { + Print(L"Argv[%d]: %s\n", Index, Argv[Index]); + } + + return 0; } \ No newline at end of file diff --git a/ShellPkg/Include/Library/ShellCEntryLib.h b/ShellPkg/Include/Library/ShellCEntryLib.h deleted file mode 100644 index 136fd0ec72..0000000000 --- a/ShellPkg/Include/Library/ShellCEntryLib.h +++ /dev/null @@ -1,32 +0,0 @@ -/** @file - Provides application point extension for "C" style main funciton - -Copyright (c) 2006 - 2009, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -/** - Intermediate entry point for the application that will in turn call into the "C" - style main function. - - this application must have a function defined as follows: - INT32 - EFIAPI - main( - UINTN Argc, - CHAR16 **Argv - ); -**/ -EFI_STATUS -EFIAPI -ShellCEntry( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ); \ No newline at end of file diff --git a/ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.c b/ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.c index 0ce5271f22..19ade44563 100644 --- a/ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.c +++ b/ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.c @@ -20,19 +20,33 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include -INT32 +INTN EFIAPI -main( - UINTN Argc, - CHAR16 **Argv -); +ShellAppMain ( + IN INTN Argc, + IN CHAR16 **Argv + ); +/** + UEFI entry point for an application that will in turn call a C + style ShellAppMain function. + + This application must have a function defined as follows: + + INTN + EFIAPI + ShellAppMain ( + IN INTN Argc, + IN CHAR16 **Argv + ); +**/ EFI_STATUS EFIAPI -ShellCEntryLib( +ShellCEntryLib ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable - ){ + ) +{ INT32 ReturnFromMain; EFI_SHELL_PARAMETERS_PROTOCOL *EfiShellParametersProtocol; EFI_SHELL_INTERFACE *EfiShellInterface; @@ -53,7 +67,10 @@ ShellCEntryLib( // // use shell 2.0 interface // - ReturnFromMain = main(EfiShellInterface->Argc, EfiShellInterface->Argv); + ReturnFromMain = ShellAppMain ( + EfiShellInterface->Argc, + EfiShellInterface->Argv + ); } else { // // try to get shell 1.0 interface instead. @@ -69,7 +86,10 @@ ShellCEntryLib( // // use shell 1.0 interface // - ReturnFromMain = main(EfiShellParametersProtocol->Argc, EfiShellParametersProtocol->Argv); + ReturnFromMain = ShellAppMain ( + EfiShellParametersProtocol->Argc, + EfiShellParametersProtocol->Argv + ); } else { ASSERT(FALSE); } -- 2.39.2