summaryrefslogtreecommitdiffstats
path: root/StdLib
Commit message (Collapse)AuthorAgeFilesLines
* StdLib: Fix more GCC warnings/errors caused by variables being set but not used.Olivier Martin2014-10-312-2/+1
| | | | | | | | | | | | Removed variables that had no effect on code behavior. Normalized comment formatting. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Reviewed by: Daryl McDaniel <daryl.mcdaniel@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16286 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix more GCC warnings/errors caused by variables being set but not used.Olivier Martin2014-10-318-550/+285
| | | | | | | | | | | | Removed variables that had no effect on code behavior. Normalized comment formatting. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Reviewed by: Daryl McDaniel <daryl.mcdaniel@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16284 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix GCC warnings/errors caused by variables being set but not used.Olivier Martin2014-10-3011-446/+469
| | | | | | | | | | | | | | | Removed variables that had no effect on code behavior. Fifo.c::FIFO_Dequeue: Replaced instances of "Self->ElementSize" with preexisting variable "SizeOfElement". IIOutilities.c::IIO_GetInChar: Fixed variable of wrong, but compatible, type and made updating of housekeeping variables dependent upon successful completion of reading from the buffer. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Reviewed by: Daryl McDaniel <daryl.mcdaniel@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16276 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Some deployed versions of the Simple Text Input Protocol randomly ↵Daryl McDaniel2014-10-285-84/+147
| | | | | | | | | | | | | | | | | | | | | | | | | return either NUL characters or Scan Codes when just typing normal text. These changes filter out NUL characters and make Scan Code and error handling more robust. StdLibPrivateInternalFiles/Include/Device/Console.h: Change UnGetKey, in the ConInstance structure, from an EFI_INPUT_KEY structure to a CHAR16 variable. Include/sys/termios.h: Add CHAR_SUB and CHAR_ESC for translation of '^Z' and the Escape Scan Code into the EOF and ESC characters, respectively. LibC/Uefi/Devices/Console/daConsole.c: Add da_ConRawRead() function to simplify the read logic. Discard NUL characters from the input stream. In Blocking mode, retry until a non-NUL character is received. In NonBlocking mode, a NUL causes an EAGAIN error to be returned. Translate the Escape Scan Code into an ESC character. If Scan Codes are ignored, retry if in Blocking mode else return an EAGAIN error. UnGetKey becomes a single wide character instead of a structure. Change da_Poll() to use da_ConRawRead(). LibC/Uefi/InteractiveIO/IIOutilities.c: BUG fix. Return the processed input character instead of the raw character. Allows EOF propagation. LibC/Uefi/InteractiveIO/CanonRead.c: Enable EOF propagation. LibC/Uefi/InteractiveIO/IIOechoCtrl.h: Use symbols defined in termios.h instead of hard-coded constant numbers. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16254 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Produce DevMedia as a library class alternative to DevShell.Daryl McDaniel2014-09-182-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AppPkg: Replace existing DevShell dependencies with DevMedia. These patches will NOT cause existing code which uses DevShell to break. During an interim period, either DevShell or DevMedia may be used. In the future, DevShell will be removed from the code base. During the interim, DevShell and DevMedia refer to the same library. StdLib/LibC/Uefi/Devices/daShell.inf Make this library also satisfy the DevMedia library class. StdLib/StdLib.inc Add a library class definition for DevMedia AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.inf AppPkg/Applications/Python/PythonCore.inf AppPkg/Applications/Sockets/GetAddrInfo/GetAddrInfo.inf AppPkg/Applications/Sockets/GetHostByAddr/GetHostByAddr.inf AppPkg/Applications/Sockets/GetHostByDns/GetHostByDns.inf AppPkg/Applications/Sockets/GetHostByName/GetHostByName.inf AppPkg/Applications/Sockets/GetNameInfo/GetNameInfo.inf AppPkg/Applications/Sockets/GetNetByAddr/GetNetByAddr.inf AppPkg/Applications/Sockets/GetNetByName/GetNetByName.inf AppPkg/Applications/Sockets/GetServByName/GetServByName.inf AppPkg/Applications/Sockets/GetServByPort/GetServByPort.inf AppPkg/Applications/Sockets/RecvDgram/RecvDgram.inf AppPkg/Applications/Sockets/SetHostName/SetHostName.inf AppPkg/Applications/Sockets/SetSockOpt/SetSockOpt.inf AppPkg/Applications/Sockets/TftpServer/TftpServer.inf AppPkg/Applications/Sockets/WebServer/WebServer.inf Change LibraryClass dependency from DevShell to DevMedia Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16142 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix parameter type errors.Stefan Kaeser2014-09-172-3/+3
| | | | | | | | | | | | Fix casts of parameters to sprintf() so that they have the correct type. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Stefan Kaeser <stefankaeser@hotmail.com> Reviewed-by: daryl.mcdaniel@intel.com git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16125 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix some build problems and obscure bugs.daryl.mcdaniel2014-09-1112-822/+835
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | StdLib\ BsdSocketLib\ ns_print.c Use "%lu" format instead of "%Lu". A capital 'L' specifies (long double) in print formats. Add a cast from char to (unsigned int) to match its sprintf format. res_debug.c Use "%lu" format instead of "%Lu". A capital 'L' specifies (long double) in print formats. EfiSocketLib\ Socket.c Update copyright & correct formatting Include\ sys\ EfiCdefs.h Update copyright date Change type of LONGN and ULONGN to INTN and UINTN, respectively. errno.h Update copyright date Add enum member '__ESUCCESS = 0' fcntl.h Update copyright date Improve comment for O_EXCL stat.h Update copyright date Reorder the S_* flags Put the S_* predicate macros in the same order as their flag definitions Add a function header comment to the stat() function declaration. errno.h Update copyright date Define new ESUCCESS error code wchar.h Update copyright date Correct the description of the Nptr parameter to the wcstol, wcstoll, wcstoul, and wcstoull functions. x86\float.h Update copyright date Define 'long double' limits for non-Microsoft compilers LibC\ Containers\Queues\Fifo.c Rewrite to make more robust and secure (zeros out old data) StdLib\realpath.c Update copyright date Reformat descriptive comment for realpath() Add terminating CRLF Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16096 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Changes needed to support XCODE5Andrew Fish2014-09-093-16/+18
| | | | | | | | | | | I had to make the following changes to make this build work: >build -p AppPkg/AppPkg.dsc -a X64 -t XCODE5 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Andrew Fish <afish@apple.com> Reviewed-by: Daryl McDaniel <daryl.mcdaniel@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16081 6f19259b-4bc3-4df7-8a09-765794883524
* EDK II Contributions.txt: Note acceptable contribution licensesJordan Justen2014-08-251-0/+14
| | | | | | | | | | | | | | | | | | We strongly prefer that contribtions be offered using the same license as the project/module. But, we should document other acceptable licenses for contributions. This will allow package owners to more easily know if they can accept a contribution under a different source license. NOTE: This does not modify the wording of the "TianoCore Contribution Agreement 1.0" section Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Mark Doran <mark.doran@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15892 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib/LibC/gdtoa: Initialize variables before use, update the Kmax definition.Daryl McDaniel2014-08-212-123/+23
| | | | | | | | | | | | | | | gdtoaimp.h: update the Kmax definition. strtodg.c: initialize variables before use. general: Remove conditional sections for VAX and IBM mainframe. Remove conditional sections for pre-ANSI (K&R) function prototypes. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> Reviewed-by: Jaben carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15874 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: reinstate the use of va_arg() to handle long double arguments in ↵Olivier Martin2014-08-201-2/+2
| | | | | | | | | | | | | | | | | | | | vfscanf. NOTE: Replaces the previous version which was a file from the wrong project. Applies the patch, submitted by Olivier Martin, to use va_arg for long double. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Includes some cosmetic changes to enhance readability. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Olivier Martin <Olivier.Martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15859 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib/LibC: Fix ARM symbol problemsHarry Liebel2014-08-202-2/+4
| | | | | | | | | | | | | | | | StdLibPrivateInternalFiles: Add AArch64 support Disable 'memcpy' symbol for ARM in LibC. It is already provided by the ARM compiler intrinsics library. Add missing 'strtold' symbol. Use the same fallback as IPF for now. Use Include definitions as provided by ARM version. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Harry Liebel <Harry.Liebel@arm.com> Reviewed-By: Olivier Martin <olivier.martin@arm.com> Reviewed-By: Daryl McDaniel <daryl.mcdaniel@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15858 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: reinstate the use of va_arg() to handle long double arguments in ↵Olivier Martin2014-08-201-24/+21
| | | | | | | | | | | | | | | | | | | vfscanf. Applies the patch, submitted by Olivier Martin, to use va_arg for long double. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Also initializes an array so that strings will be properly terminated. Includes some cosmetic changes to enhance readability. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Olivier Martin <Olivier.Martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15856 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Add a runtime helper function for VC++ 64-bit right shift on Ia32 ↵Daryl McDaniel2014-08-202-1/+61
| | | | | | | | | | | | | | target architectures. Add new file StdLib/LibC/CRT/Ia32/llshr.c Add references to the new file to StdLib/LibC/LibC.inf Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15855 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib/LibC/Stdio: fix "missing braces around initializer"Laszlo Ersek2014-08-111-1/+1
| | | | | | | | | | | | | | | | | | The member "fext._ub" is a structure (of type "struct __sbuf"), and the current initializer triggers StdLib/LibC/Stdio/vswscanf.c: In function 'vswscanf': StdLib/LibC/Stdio/vswscanf.c:75:10: error: missing braces around initializer [-Werror=missing-braces] StdLib/LibC/Stdio/vswscanf.c:75:10: error: (near initialization for 'fext._ub') [-Werror=missing-braces] cc1: all warnings being treated as errors Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15786 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib/LibC/gdtoa: fix "missing braces around initializer"Laszlo Ersek2014-08-111-1/+1
| | | | | | | | | | | | | | | | | The member "u.L" is an array, and the current initializer triggers StdLib/LibC/gdtoa/strtof.c: In function '_strtof': StdLib/LibC/gdtoa/strtof.c:53:9: error: missing braces around initializer [-Werror=missing-braces] StdLib/LibC/gdtoa/strtof.c:53:9: error: (near initialization for 'u.L') [-Werror=missing-braces] cc1: all warnings being treated as errors Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15785 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: The formatting for double float values, within the gdtoa library, is ↵Daryl McDaniel2014-08-062-12/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | improper. When running Enquire.efi, several errors similar to the following are produced: Maximum exponent = 128 Maximum number = 3.40282347e+38 *** WARNING: Possibly bad output from printf above expected value around 3.40282347e38, bit pattern: 11111111 11111111 01111111 01111111 sscanf gave -inf, bit pattern: 00000000 00000000 10000000 11111111 difference= inf Overflow doesn’t seem to generate a trap The memory allocation tests will also fail, sometimes leaving all available memory consumed. The correct output in the above example is: Maximum exponent = 128 Maximum number = 3.40282347e+38 Overflow doesn't seem to generate a trap The root cause is that all operations on values of Long or ULong type, within the gdtoa library, must be 32-bit operations. A previous change replaced the Long and ULong definitions with INTN and UINTN, respectively. While this is correct for a lot of Linux and NetBSD code, it was not correct for this library. This fix reverts the definitions of ULong and Long back to 32-bit types. A descriptive comment has also been added to the U union. Additional white-space has been added to tidy up the definitions of the word0 and word1 macros. Verified with Enquire.efi and the ISO/IEC C Library compliance Validation Suite. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15765 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib/LibC/StdLib/Malloc.c: Revert cast removal to fix GCC build breakage.Daryl McDaniel2014-07-241-3/+3
| | | | | | | | | | | | | | The cast to (void**) is needed for the last parameter of the AllocatePool call in malloc(). This is because type CPOOL_HEAD** is not automatically promoted to void**, as required by AllocatePool(). This was originally addressed in SVN revision 15474 but removed again in 15664. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed by: Stefan Kaeser <stefankaeser@hotmail.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15677 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Simple code cleanupDaryl McDaniel2014-07-175-48/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | StdLib/LibC/Main/Main.c Change Print to Debug statements. Ensure errno is initialized to 0 before calling main(). StdLib/LibC/StdLib/Malloc.c Aesthetic Cleanup: remove unnecessary cast, fix two whitespace alignment problems. StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c Change Include order. StdLib/Include/paths.h Add definition _PATH_LIB for the path to the library directory: /Efi/StdLib/lib. StdLib/LibC/Stdio/vfwscanf.c Align declarations and initializations. Initialize the multipurpose pointer, p, to NULL. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15664 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Move GetPass.c out of Uefi and into PosixLib. Create LibPosix to ↵Daryl McDaniel2014-07-175-18/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | contain all functions from PosixLib instead of individual libraries. Retains the ability to use the individual libraries, except GetPass, for backwards compatibility. StdLib/LibC/Uefi/GetPass.c COPY to StdLib/PosixLib/GetPass/GetPass.c DELETE StdLib/PosixLib/GetPass/GetPass.c NEW, COPIED from StdLib/LibC/Uefi/GetPass.c StdLib/PosixLib/PosixLib.inf Create a LibPosix library class to build all PosixLib functions into a single library. Move GetPass from LibC/Uefi to PosixLib.inf StdLib/LibC/Uefi/Uefi.inf Remove GetPass.c from sources. Remove IPF from VALID_ARCHITECTURES Update VERSION_STRING Align [Defines] on a two-character boundary Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15663 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: StdLib/Malloc.cPaulo Alcantara2014-04-171-1/+1
| | | | | | | | | | | | This patch fixes the following warning: "expected ‘void **’ but argument is of type ‘struct CPOOL_HEAD **’" Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Paulo Alcantara <pcacjr@zytor.com> Reviewed by: Daryl McDaniel <daryl.mcdaniel@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15474 6f19259b-4bc3-4df7-8a09-765794883524
* Fix TCP4/TCP6 connections. Connections were transitioning into the ↵leroy.p.leahy2014-03-201-3/+2
| | | | | | | | | | | | connected state and the polling was returning an error. Fix the polling routine to return success in this case. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: leroy.p.leahy@intel.com Reviewed-by: SREENIVASULA_REDDY@Dell.com git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15355 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Modify the memory allocation routines to not be dependent upon the ↵Daryl McDaniel2014-03-071-34/+87
| | | | | | | | | | | | | | | | | internal structure of the EDK II memory pool. StdLib/LibC/StdLib/Malloc.c Create a private data structure, CPOOL_HEAD, which contains housekeeping information for StdLib’s memory allocation functions. An instance of this structure is prepended to every chunk of allocated memory. The structure links the allocation into a doubly-linked list and keeps track of the size of each allocation unit. This information is then available for use by the realloc function. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> Reviewed-by: Rosenbaum, Lee G <lee.g.rosenbaum@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15319 6f19259b-4bc3-4df7-8a09-765794883524
* Fix the non-blocking behavior for connect. The behavior was correct if the ↵lpleahy leroy.p.leahy2013-12-133-12/+16
| | | | | | | | | | code polled the connect routine but was not correct when using select to complete the asynchronous request. This change fixes the select case by moving where some of the operations performed upon the connection completion. Signed-off-by: lpleahy leroy.p.leahy@intel.com Reviewed-by: Daniel Moura oxesoft@gmail.com git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14984 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Update Copyright Notices.Daryl McDaniel2013-12-102-4/+2
| | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Matthew Stanbro <Matthew.A.Stanbro@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14960 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Remove an unnecessary dependency from LibWchar.Daryl McDaniel2013-12-102-5/+1
| | | | | | | | | | | | LibWchar is now a standalone library which can be used independent of the rest of StdLib. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed-by: Matthew Stanbro <Matthew.A.Stanbro@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14959 6f19259b-4bc3-4df7-8a09-765794883524
* Fix GCC build errorsLee Leahy2013-11-205-5/+5
| | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14876 6f19259b-4bc3-4df7-8a09-765794883524
* Ignore transmit errors for UDPv4, UDPv6 and IPv4.Lee Leahy2013-11-209-175/+1238
| | | | | | | | | | | | Support local bind by validating the IP address using the IP configuration protocol. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> Reviewed-by: Ankit Singh3 <Ankit_Singh3@Dell.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14875 6f19259b-4bc3-4df7-8a09-765794883524
* Enable the build command override the .DSC file contents to enable debug ↵Lee Leahy2013-11-191-3/+15
| | | | | | | | | | | | | output and specify which debug messages are displayed. An example: build -a IA32 -a X64 -t VS2008x86 -p AppPkg/AppPkg.dsc -b DEBUG -D DEBUG_ENABLE_OUTPUT=TRUE -D DEBUG_PROPERTY_MASK=0x27 -D DEBUG_PRINT_ERROR_LEVEL=0xFCF00040 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> Reviewed-by: Daryl McDaniel <daryl.mcdaniel@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14859 6f19259b-4bc3-4df7-8a09-765794883524
* EADK (StdLib, AppPkg, StdLibPrivateInternalFiles): Update ReadMe.txt in all ↵Daryl McDaniel2013-10-243-135/+191
| | | | | | | | | | | | packages. StdLib: Update Issues.txt and add Fixes.txt files. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14801 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix pointer arithmetic issues in the strncasecmp function.Daryl McDaniel2013-09-131-19/+22
| | | | | | | | | | | | | | The original Linux code tried to be too fancy so the internal pointers got out of sync. Rewrote the function to at least be more clear. Regardless, it now works properly. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed by: matthew.stanbro@intel.com Reviewed by: erik.c.bjorge@intel.com git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14664 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix IA32 and X64 build issues.Daryl McDaniel2013-09-101-1/+0
| | | | | | | | | | | | | | | Building with the Intel Compiler V11 produces the following error: StdLib\LibC\Containers\Queues\Fifo.c(223): error #186: pointless comparison of unsigned integer with zero assert(Count >= 0); Deleted the assert. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed by: erik.c.bjorge@intel.com git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14648 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix IPF build issues.Daryl McDaniel2013-09-101-1/+0
| | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> Reviewed by: erik.c.bjorge@intel.com git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14647 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Add Aarch64 support.Harry Liebel2013-07-231-0/+3
| | | | | | | | | | | | | Modifies StdLib/StdLib.inc to include the ARM CompilerIntrinsicsLib when building for Aarch64. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Harry Liebel <Harry.Liebel@arm.com> Signed-off-by: Olivier Martin <olivier.martin@arm.com> Reviewed by: Daryl McDaniel <daryl.mcdaniel@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14499 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib/LibC/Locale/multibyte_Utf8.c: Fix obscure corner cases in wide to ↵darylm5032013-05-151-24/+22
| | | | | | | | | | | | | | | | | | | | | multibyte and multibyte to wide character conversions. The majority of problems center around the interpretation of the Length or Limit parameter when the Destination parameter is NULL. DecodeOneStateful: Properly handle combinations of Src, Dest, or Len being NULL or 0. EncodeUtf8: Do not zero-terminate the result string in this worker function. mbsrtowcs: Remove test for **src == '\0', as per ISO/IEC 9899:199409. Allows "". wcsrtombs: The C Language standard, ISO/IEC 9899:199409, states that the wcsrtombs() function will stop before encountering the terminating NUL character only if Dest is NOT NULL. This implies that if Dest is NULL, the Limit parameter will be ignored. In order to avoid system hangs, if Dest is NULL a Limit value of ASCII_STRING_MAX is automatically used. Also fixed a typo in the function header comment. With these changes, StdLib now passes all of the C Language Standards Compliance Tests for ISO/IEC 9899:199409 (C95). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: erik.c.bjorge@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14358 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix printf issues with floating point and wide character strings. ↵darylm5032013-03-114-63/+70
| | | | | | | | | | | | | | | | | | | Also resolves a compilation issue with VS2010. See ISSUES.txt items 1, 11. ISSUES.txt: Added issue 11, updated status of issue 1. gdtoa/gdtoaimp.h: Fix definition of union U. Locale/_wcstod.h: Return 0.0 instead of 0 in the "no_convert" case. Locale/multibyte_Utf8.c: In wcsrtombs(), if both the destination pointer is NULL and the size, Limit, is 0; return the estimated length of the converted string up to ASCII_STRING_MAX bytes. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: Aniruddha_Herekar@Dell.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14171 6f19259b-4bc3-4df7-8a09-765794883524
* Otherwise gcc can default to the "sysv_abi" (as opposed to the "ms_abi") ↵lpleahy2013-02-271-3/+3
| | | | | | | | | | | | calling convention on X64, causing problems like <http://sourceforge.net/mailarchive/message.php?msg_id=30356166>. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: lpleahy git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14148 6f19259b-4bc3-4df7-8a09-765794883524
* Increase sockets performance by increasing the maximum buffer sizes.lpleahy2013-02-081-2/+2
| | | | | | | | Tested using: DataSource/DataSink Signed-off-by: lpleahy git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14125 6f19259b-4bc3-4df7-8a09-765794883524
* Allow fragmentation of large UDP packetslpleahy2013-02-081-1/+1
| | | | | | | | Reviewed-by: Ankit Singh of Dell Signed-off-by: lpleahy git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14124 6f19259b-4bc3-4df7-8a09-765794883524
* Fix sockets use of file descriptors which was broken by the additional ↵lpleahy2013-02-081-1/+1
| | | | | | | | | validation in StdLib/LibC/Uefi/SysCall.c/write added by revision 13989. Signed-off-by: lpleahy git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14123 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib & AppPkg: Update the list of known ISSUES.darylm5032013-01-161-6/+20
| | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: erik.c.bjorge@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14061 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Correct two instances of mismatch between function declaration and ↵darylm5032013-01-162-9/+11
| | | | | | | | | | | | | | | | | | | | definition causing GCC compile errors. StdLib\Include\Containers\Fifo.h Change return type of cFIFO_Truncate to size_t. Makes declaration match definition. Update comment to describe what is returned. StdLib\LibC\Uefi\InteractiveIO\IIOutilities.c Change return type of IIO_CursorDelta to int. Makes declaration match definition. Change other types from INT32 to int, for consistency. Update comment for returned values. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: erik.c.bjorge@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14060 6f19259b-4bc3-4df7-8a09-765794883524
* List of known issues with StdLib.darylm5032013-01-161-0/+40
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14057 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix issue with Canonical output expansion of NL to CR NL and similar ↵darylm5032012-12-212-3/+4
| | | | | | | | | | | | | | | | | | | | | expansions. SysCalls.c: Add IGNSPEC to the "sane" termios settings so that, by default, function keys and other special keys are ignored. fvwrite.c: Line 109: Change test to less-than zero since zero is a valid value. Line 113: Change test to greater-than zero since we only want to loop when there are characters available. Line 114: Force uio_resid to zero since it might have become negative on line 113. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: erik.c.bjorge@intel.com Reviewed-by: lee.g.rosenbaum@intel.com Reviewed-by: jaben.carsey@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14013 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Add terminal type line editing (Interactive IO) for console devices.darylm5032012-12-1123-220/+3406
| | | | | | | | | | | | | | | | | | | | | | | | Adds a subset of the terminal I/O capabilities described in the Single Unix Specification, V4. Supports: Erase previous character. Default is Backspace or ^H Erase line. Default is ^U TAB characters are supported and, by default, are rendered as 8 spaces. They will still be read as a single TAB character. Both Canonical and Non-Canonical modes are supported. If a terminal device is opened with O_TTY_INIT in the mode, the device will be initialized to "sane" values for interactive use. It will be in Canonical mode, Enter will be translated to NewLine and on output, a NewLine is translated to CRLF. Echoing will be on, control characters are output as ^X, and TABs are expanded. See the new <sys/termios.h> file for more information. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: erik.c.bjorge@intel.com Reviewed-by: leroy.p.leahy@intel.com Reviewed-by: lee.g.rosenbaum@intel.com Reviewed-by: jaben.carsey@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13989 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Reverse a previous change resulting in string pointers that were not ↵darylm5032012-10-121-1/+1
| | | | | | | | | | | | being incremented sufficiently to accommodate the terminating NUL. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: Fernandes, Cristiano <cristiano.fernandes@hp.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13834 6f19259b-4bc3-4df7-8a09-765794883524
* Poll the network adapter during connectlpleahy2012-10-081-0/+5
| | | | | | | Signed-off-by: lpleahy Reviewed-by: Dell, Sreenivasula Reddy git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13803 6f19259b-4bc3-4df7-8a09-765794883524
* Fixed close for socket to properly release the socket context structure and ↵lpleahy2012-10-087-111/+295
| | | | | | | | | the handle. Signed-off-by: lpleahy git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13802 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib: Fix several problems where characters were not being correctly ↵darylm5032012-10-052-136/+312
| | | | | | | | | | | | | | | | | | | | | | | | | | converted between wide and MBCS. Add utility functions for determining character length of strings. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: erik.c.bjorge@intel.com Reviewed-by: lee.g.rosenbaum@intel.com StdLib/LibC/ Locale/multibyte_Utf8.c Improve comments. Define implementation-specific MBCS utility functions, as declared in <stdlib.h>. Enhance functionality of EncodeUtf8() and improve error handling. Set correct conversion state in wcrtomb(). Bug fixes in wcsrtombs(). Make wctob() properly MBCS compliant. Main/Main.c Remove code obsoleted by new wcsrtombs() implementation. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13785 6f19259b-4bc3-4df7-8a09-765794883524
* StdLib/Include: Minor changes in preparation for Interactive I/O (TTY) ↵darylm5032012-09-254-220/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functionality. StdLib/Include/ stdlib.h Update MB_CUR_MAX to 3, the max. size of a MBCS character. Improve comments for wcstombs() Declare implementation-specific MBCS utility functions: OneWcToMcLen() Determine the number of bytes needed to represent a Wide character as a MBCS character. EstimateWtoM() Determine the number of bytes needed to represent a Wide character string as a MBCS string. CountMbcsChars() Determine the number of characters in a MBCS string. wchar.h Improve comments. StdLib/Include/sys/ fcntl.h Define new Open flags. Remove obsolete and commented-out lines. termios.h Add Intel Copyright notice and Open-Source License. Change c_cc index macros into enumerated values. Clean up flag definitions for visual alignment as well as UEFI relevance. Move c_ispeed and c_ospeed termios members to end for better alignment. Comment out declarations for functions not yet implemented. Add an enum defining values for the UEFI extended function keys. Contributed-under: TianoCore Contribution Agreement 1.0 Reviewed-by: erik.c.bjorge@intel.com Reviewed-by: jaben.carsey@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13741 6f19259b-4bc3-4df7-8a09-765794883524