diff --git a/StdLib/Include/paths.h b/StdLib/Include/paths.h index 7c968241cb..560bd033af 100644 --- a/StdLib/Include/paths.h +++ b/StdLib/Include/paths.h @@ -1,6 +1,6 @@ /** @file - Copyright (c) 2012, Intel Corporation. All rights reserved.
+ Copyright (c) 2012 - 2014, 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 @@ -50,6 +50,7 @@ #define _PATH_STDLIB "/Efi/StdLib/" #define _PATH_ETC _PATH_STDLIB "etc/" #define _PATH_TMP _PATH_STDLIB "tmp/" +#define _PATH_LIB _PATH_STDLIB "lib/" #define _PATH_BIN "/Efi/Tools/" /* DOS style device paths */ diff --git a/StdLib/LibC/Main/Main.c b/StdLib/LibC/Main/Main.c index 0c84c160e0..b203d1520e 100644 --- a/StdLib/LibC/Main/Main.c +++ b/StdLib/LibC/Main/Main.c @@ -4,7 +4,7 @@ All of the global data in the gMD structure is initialized to 0, NULL, or SIG_DFL; as appropriate. - Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2014, 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 that accompanies this distribution. The full text of the license may be found at @@ -81,9 +81,9 @@ ArgvConvert(UINTN Argc, CHAR16 **Argv) INTN nArgvSize; /* Cumulative size of narrow Argv[i] */ DEBUG_CODE_BEGIN(); - Print(L"ArgvConvert called with %d arguments.\n", Argc); + DEBUG((DEBUG_INIT, "ArgvConvert called with %d arguments.\n", Argc)); for(count = 0; count < ((Argc > 5)? 5: Argc); ++count) { - Print(L"Argument[%d] = \"%s\".\n", count, Argv[count]); + DEBUG((DEBUG_INIT, "Argument[%d] = \"%s\".\n", count, Argv[count])); } DEBUG_CODE_END(); @@ -92,7 +92,7 @@ DEBUG_CODE_END(); for(count = 0; count < Argc; ++count) { AVsz = (ssize_t)wcstombs(NULL, Argv[count], ARG_MAX); if(AVsz < 0) { - Print(L"ABORTING: Argv[%d] contains an unconvertable character.\n", count); + DEBUG((DEBUG_ERROR, "ABORTING: Argv[%d] contains an unconvertable character.\n", count)); exit(EXIT_FAILURE); /* Not Reached */ } @@ -102,7 +102,7 @@ DEBUG_CODE_END(); /* Reserve space for the converted strings. */ gMD->NCmdLine = (char *)AllocateZeroPool(nArgvSize+1); if(gMD->NCmdLine == NULL) { - Print(L"ABORTING: Insufficient memory.\n"); + DEBUG((DEBUG_ERROR, "ABORTING: Insufficient memory.\n")); exit(EXIT_FAILURE); /* Not Reached */ } @@ -117,7 +117,7 @@ DEBUG_CODE_END(); string += AVsz; nArgvSize -= AVsz; if(nArgvSize < 0) { - Print(L"ABORTING: Internal Argv[%d] conversion error.\n", count); + DEBUG((DEBUG_ERROR, "ABORTING: Internal Argv[%d] conversion error.\n", count)); exit(EXIT_FAILURE); /* Not Reached */ } @@ -158,6 +158,7 @@ ShellAppMain ( mfd[i].MyFD = (UINT16)i; } + DEBUG((DEBUG_INIT, "StdLib: Open Standard IO.\n")); i = open("stdin:", (O_RDONLY | O_TTY_INIT), 0444); if(i == 0) { i = open("stdout:", (O_WRONLY | O_TTY_INIT), 0222); @@ -177,6 +178,7 @@ ShellAppMain ( } else { if( setjmp(gMD->MainExit) == 0) { + errno = 0; // Clean up any "scratch" values from startup. ExitVal = (INTN)main( (int)Argc, gMD->NArgV); exitCleanup(ExitVal); } diff --git a/StdLib/LibC/StdLib/Malloc.c b/StdLib/LibC/StdLib/Malloc.c index 44d89eef5d..7d9718b266 100644 --- a/StdLib/LibC/StdLib/Malloc.c +++ b/StdLib/LibC/StdLib/Malloc.c @@ -98,7 +98,7 @@ malloc(size_t Size) DEBUG((DEBUG_POOL, "malloc(%d): NodeSz: %d", Size, NodeSize)); - Status = gBS->AllocatePool( EfiLoaderData, NodeSize, (void **)&Head); + Status = gBS->AllocatePool( EfiLoaderData, NodeSize, &Head); if( Status != EFI_SUCCESS) { RetVal = NULL; errno = ENOMEM; @@ -183,7 +183,7 @@ free(void *Ptr) errno = EFAULT; DEBUG((DEBUG_ERROR, "ERROR free(0x%p): Signature is 0x%8X, expected 0x%8X\n", Ptr, Head->Signature, CPOOL_HEAD_SIGNATURE)); - } + } } DEBUG((DEBUG_POOL, "free Done\n")); } @@ -272,8 +272,8 @@ realloc(void *Ptr, size_t ReqSize) } } else { - free( Ptr); // Reclaim the old region. - } + free( Ptr); // Reclaim the old region. + } DEBUG((DEBUG_POOL, "0x%p = realloc(%p, %d): Head: %p NewSz: %d\n", RetVal, Ptr, ReqSize, Head, NewSize)); diff --git a/StdLib/LibC/Stdio/vfwscanf.c b/StdLib/LibC/Stdio/vfwscanf.c index 7bf3f66690..ae149c3602 100644 --- a/StdLib/LibC/Stdio/vfwscanf.c +++ b/StdLib/LibC/Stdio/vfwscanf.c @@ -1,5 +1,7 @@ -/*- - Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.
+/** @file + valist worker function for the wide-character fscanf. + + Copyright (c) 2010 - 2014, 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 that accompanies this distribution. The full text of the license may be found at @@ -96,10 +98,10 @@ * The following are used in integral conversions only: * SIGNOK, NDIGITS, PFXOK, and NZDIGITS */ -#define SIGNOK 0x40 /* +/- is (still) legal */ -#define NDIGITS 0x80 /* no digits detected */ -#define PFXOK 0x100 /* 0x prefix is (still) legal */ -#define NZDIGITS 0x200 /* no zero digits detected */ +#define SIGNOK 0x40 /* +/- is (still) legal */ +#define NDIGITS 0x80 /* no digits detected */ +#define PFXOK 0x100 /* 0x prefix is (still) legal */ +#define NZDIGITS 0x200 /* no zero digits detected */ #define HAVESIGN 0x10000 /* sign detected */ /* @@ -138,38 +140,40 @@ vfwscanf(FILE * __restrict fp, const wchar_t * __restrict fmt, va_list ap) int __vfwscanf_unlocked(FILE * __restrict fp, const wchar_t * __restrict fmt, va_list ap) { - wint_t c; /* character from format, or conversion */ - size_t width; /* field width, or 0 */ - wchar_t *p; /* points into all kinds of strings */ - int n; /* handy integer */ - int flags; /* flags as defined above */ - wchar_t *p0; /* saves original value of p when necessary */ - int nassigned; /* number of fields assigned */ - int nconversions; /* number of conversions */ - int nread; /* number of characters consumed from fp */ - int base; /* base argument to conversion function */ - wchar_t buf[BUF]; /* buffer for numeric conversions */ - const wchar_t *ccls; /* character class start */ - const wchar_t *ccle; /* character class end */ - int cclcompl; /* ccl is complemented? */ - wint_t wi; /* handy wint_t */ - char *mbp; /* multibyte string pointer for %c %s %[ */ - size_t nconv; /* number of bytes in mb. conversion */ - char mbbuf[MB_LEN_MAX]; /* temporary mb. character buffer */ - static const mbstate_t initial = { 0 }; - mbstate_t mbs; + wint_t c; /* character from format, or conversion */ + size_t width; /* field width, or 0 */ + wchar_t *p = NULL; /* points into all kinds of strings */ + int n; /* handy integer */ + int flags; /* flags as defined above */ + wchar_t *p0; /* saves original value of p when necessary */ + int nassigned; /* number of fields assigned */ + int nconversions; /* number of conversions */ + int nread; /* number of characters consumed from fp */ + int base; /* base argument to conversion function */ + wchar_t buf[BUF]; /* buffer for numeric conversions */ + const wchar_t *ccls; /* character class start */ + const wchar_t *ccle; /* character class end */ + int cclcompl; /* ccl is complemented? */ + wint_t wi; /* handy wint_t */ + char *mbp; /* multibyte string pointer for %c %s %[ */ + size_t nconv; /* number of bytes in mb. conversion */ + char mbbuf[MB_LEN_MAX]; /* temporary mb. character buffer */ + mbstate_t mbs; + static const mbstate_t initial = { 0 }; /* `basefix' is used to avoid `if' tests in the integer scanner */ - static short basefix[17] = + static short basefix[17] = { 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; - nassigned = 0; - nconversions = 0; - nread = 0; - ccls = ccle = NULL; - base = 0; - cclcompl = 0; - mbp = NULL; + nassigned = 0; + nconversions = 0; + nread = 0; + ccls = NULL; + ccle = NULL; + base = 0; + cclcompl = 0; + mbp = NULL; + for (;;) { c = *fmt++; if (c == 0) diff --git a/StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c b/StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c index 15bf43e260..bcae9c8239 100644 --- a/StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c +++ b/StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c @@ -4,7 +4,7 @@ The functions assume that isatty() is TRUE at the time they are called. If _S_IWTTY is set, the device returns WIDE characters. - Copyright (c) 2012, Intel Corporation. All rights reserved.
+ Copyright (c) 2012 - 2014, 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 @@ -17,8 +17,8 @@ #include #include -#include #include +#include /** Perform a noncanonical read of input.