From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "Jayaprakash, N" <n.jayaprakash@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: Rebecca Cran <rebecca@bsdio.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [edk2-libc Patch v2 1/1] edk2-libc: Support for compiling Python UEFI interpreter with VS2022
Date: Sun, 21 Jul 2024 21:01:13 +0000 [thread overview]
Message-ID: <CO1PR11MB4929D871B9722D7BBC669645D2AF2@CO1PR11MB4929.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20240720155148.973-2-n.jayaprakash@intel.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
> -----Original Message-----
> From: Jayaprakash, N <n.jayaprakash@intel.com>
> Sent: Saturday, July 20, 2024 8:48 AM
> To: devel@edk2.groups.io
> Cc: Jayaprakash, N <n.jayaprakash@intel.com>; Rebecca Cran
> <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> Subject: [edk2-libc Patch v2 1/1] edk2-libc: Support for compiling Python
> UEFI interpreter with VS2022
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4811
>
> While trying to compile Python UEFI 3.6.8 with VS2022, got several
> compiler warnings from other components within the edk2-libc project.
> These warnings were leading to compilation failure as they were
> treated as errors. All these issues have been fixed througn this
> commit. Besides this, updated the year in copy right of these file.
>
> Summary of the issues is given below for reference:
> 1.AppPkg\Applications\Enquire\Enquire.c
> Warning C4459: Declaration of 'bugs' hides global declaration.
> Warning C4456: Multiple declarations of 'char_max' hide previous
> local declarations.
> Warning C4456: Declaration of 'char_min' hides previous local
> declaration.
>
> 2.AppPkg\Applications\OrderedCollectionTest\OrderedCollectionTest.c
> Warning C4476: Unknown type field character '$' in format
> specifier.
> Warning C4474: Too many arguments passed for format string.
>
> 3.StdLib\BsdSocketLib\getnetbyht.c
> Warning C4459: Declaration of 'net' hides global declaration.
>
> 4.StdLib\EfiSocketLib\Socket.c
> Warning C4459: Multiple declarations of 'errno' hide global
> declaration.
>
> 5.AppPkg\Applications\Sockets\DataSource\DataSource.c
> Warning C4459: Declaration of 'BytesSent' hides global declaration.
>
> 6.AppPkg\Applications\Sockets\OobRx\OobRx.c
> Warning C4475: Length modifier 'L' cannot be used with type field
> character 'd' in format specifier.
>
> 7.AppPkg\Applications\Sockets\RawIp4Rx\RawIp4Rx.c
> Warning C4475: Length modifier 'L' cannot be used with type field
> character 'd' in format specifier.
>
> 8.StdLib\BsdSocketLib\ns_print.c
> Warning C4456: Multiple declarations of 't' hide previous local
> declarations.
> Warning C4457: Declaration of 'type' hides function parameter.
>
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Jayaprakash N <n.jayaprakash@intel.com>
> Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
> ---
> AppPkg/Applications/Enquire/Enquire.c | 48 +++++------
> .../OrderedCollectionTest.c | 10 +--
> .../Sockets/DataSource/DataSource.c | 10 +--
> AppPkg/Applications/Sockets/OobRx/OobRx.c | 6 +-
> .../Applications/Sockets/RawIp4Rx/RawIp4Rx.c | 4 +-
> StdLib/BsdSocketLib/getnetbyht.c | 9 ++-
> StdLib/BsdSocketLib/ns_print.c | 57 +++++++------
> StdLib/EfiSocketLib/Socket.c | 80 +++++++++----------
> 8 files changed, 117 insertions(+), 107 deletions(-)
>
> diff --git a/AppPkg/Applications/Enquire/Enquire.c
> b/AppPkg/Applications/Enquire/Enquire.c
> index 1e1db69..5e34f48 100644
> --- a/AppPkg/Applications/Enquire/Enquire.c
> +++ b/AppPkg/Applications/Enquire/Enquire.c
> @@ -5,7 +5,7 @@
> Steven Pemberton, CWI, Amsterdam; "Steven.Pemberton@cwi.nl"
> Used with permission.
>
> - Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
> + Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.<BR>
> 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
> @@ -918,15 +918,15 @@ memeq(
> }
>
> Void
> -farewell(int bugs)
> +farewell(int bugs_local)
> {
> - if (bugs == 0) exit(0);
> + if (bugs_local == 0) exit(0);
> printf("\n%sFor hints on dealing with the ", co);
> - if (bugs == 1) printf("problem");
> - else printf("%d problems", bugs);
> + if (bugs_local == 1) printf("problem");
> + else printf("%d problems", bugs_local);
> printf(" above\n see the section 'TROUBLESHOOTING' in the file ");
> printf("%s%s\n", FILENAME, oc);
> - exit(bugs);
> + exit(bugs_local);
> }
>
> /* The program has received a signal where it wasn't expecting one */
> @@ -1927,51 +1927,51 @@ int cprop( void )
>
> if (c_signed) {
> #ifndef NO_UC
> -/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max;
> - c1=0; char_max=0;
> +/* Syntax error? Define NO_UC */ Volatile unsigned char c1, char_max_local;
> + c1=0; char_max_local=0;
> c1++;
> - if (setjmp(lab)==0) { /* Yields char_max */
> - while (c1>char_max) {
> - char_max=c1;
> + if (setjmp(lab)==0) { /* Yields char_max_local */
> + while (c1>char_max_local) {
> + char_max_local=c1;
> c1++;
> }
> }
> Unexpected(4);
> if (sizeof(char) == sizeof(int)) {
> u_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> - (ulong) char_max,
> + (ulong) char_max_local,
> (ulong) UCHAR_MAX, "");
> } else {
> i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX",
> - (long) char_max, 0L,
> + (long) char_max_local, 0L,
> (long) UCHAR_MAX, "");
> }
> #endif
> } else {
> #ifndef NO_SC
> -/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max,
> char_min;
> - c1=0; char_max=0;
> +/* Syntax error? Define NO_SC */ Volatile signed char c1, char_max_local,
> char_min_local;
> + c1=0; char_max_local=0;
> c1++;
> - if (setjmp(lab)==0) { /* Yields char_max */
> - while (c1>char_max) {
> - char_max=c1;
> + if (setjmp(lab)==0) { /* Yields char_max_local */
> + while (c1>char_max_local) {
> + char_max_local=c1;
> c1++;
> }
> }
> - c1=0; char_min=0;
> + c1=0; char_min_local=0;
> c1--;
> - if (setjmp(lab)==0) { /* Yields char_min */
> - while (c1<char_min) {
> - char_min=c1;
> + if (setjmp(lab)==0) { /* Yields char_min_local */
> + while (c1<char_min_local) {
> + char_min_local=c1;
> c1--;
> }
> }
> Unexpected(5);
> i_define(D_SCHAR_MIN, "", "SCHAR", "_MIN",
> - (long) char_min, (long) maxint,
> + (long) char_min_local, (long) maxint,
> (long) SCHAR_MIN, "");
> i_define(D_SCHAR_MAX, "", "SCHAR", "_MAX",
> - (long) char_max, 0L,
> + (long) char_max_local, 0L,
> (long) SCHAR_MAX, "");
> #endif /* NO_SC */
> }
> diff --git
> a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> index 712ee8f..ea44b31 100644
> --- a/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> +++ b/AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.c
> @@ -7,7 +7,7 @@
> per default, eg. serial line).
>
> Copyright (C) 2014, Red Hat, Inc.
> - Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
> + Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.<BR>
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
> **/
> @@ -458,10 +458,10 @@ SetupInputOutput (
>
> case 'h':
> fprintf (stderr,
> - "%1$s: simple OrderedCollectionLib tester\n"
> + "%s: simple OrderedCollectionLib tester\n"
> "\n"
> - "Usage: 1. %1$s [-i InputFile] [-o OutputFile]\n"
> - " 2. %1$s -h\n"
> + "Usage: 1. %s [-i InputFile] [-o OutputFile]\n"
> + " 2. %s -h\n"
> "\n"
> "Options:\n"
> " -i InputFile : read commands from InputFile\n"
> @@ -469,7 +469,7 @@ SetupInputOutput (
> " -o OutputFile: write command responses to OutputFile\n"
> " (will write to stdout if absent)\n"
> " -h : print this help and exit\n"
> - "\n", ArgV[0]);
> + "\n", ArgV[0], ArgV[0], ArgV[0]);
> ListCommands ();
> exit (EXIT_SUCCESS);
>
> diff --git a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> index 360689e..7f64294 100644
> --- a/AppPkg/Applications/Sockets/DataSource/DataSource.c
> +++ b/AppPkg/Applications/Sockets/DataSource/DataSource.c
> @@ -1,7 +1,7 @@
> /** @file
> Data source for network testing.
>
> - Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> + Copyright (c) 2011 - 2024, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -538,7 +538,7 @@ EFI_STATUS
> SocketSend (
> )
> {
> - size_t BytesSent;
> + size_t BytesSentLocal;
> EFI_STATUS Status;
> EFI_TPL TplPrevious;
>
> @@ -562,8 +562,8 @@ SocketSend (
> //
> // Send some bytes
> //
> - BytesSent = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> - if ( -1 == BytesSent ) {
> + BytesSentLocal = write ( Socket, &Buffer[0], sizeof ( Buffer ));
> + if ( -1 == BytesSentLocal ) {
> DEBUG (( DEBUG_INFO,
> "ERROR: send failed, errno: %d\r\n",
> errno ));
> @@ -589,7 +589,7 @@ Status = EFI_NOT_STARTED;
> //
> // Account for the data sent
> //
> - TotalBytesSent += BytesSent;
> + TotalBytesSent += BytesSentLocal;
>
> //
> // Release the TimerCallback routine synchronization
> diff --git a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> index 28e10d8..1eb9497 100644
> --- a/AppPkg/Applications/Sockets/OobRx/OobRx.c
> +++ b/AppPkg/Applications/Sockets/OobRx/OobRx.c
> @@ -1,7 +1,7 @@
> /** @file
> Windows version of the OOB Receive application
>
> - Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> + Copyright (c) 2011 - 2024, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -150,7 +150,7 @@ OobRx (
> //
> // Display the received OOB data
> //
> - printf ( "%5Ld OOB bytes received\r\n", (UINT64)BytesReceived );
> + printf ( "%5llu OOB bytes received\r\n", (UINT64)BytesReceived
> );
>
> //
> // Account for the bytes received
> @@ -183,7 +183,7 @@ OobRx (
> //
> // Display the received data
> //
> - printf ( "%4Ld bytes received\r\n", (UINT64)BytesReceived );
> + printf ( "%4llu bytes received\r\n", (UINT64)BytesReceived );
>
> //
> // Account for the bytes received
> diff --git a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> index b52cd38..ae856a0 100644
> --- a/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> +++ b/AppPkg/Applications/Sockets/RawIp4Rx/RawIp4Rx.c
> @@ -1,7 +1,7 @@
> /** @file
> Raw IP4 receive application
>
> - Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
> + Copyright (c) 2011 - 2024, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -157,7 +157,7 @@ RawIp4Rx (
> // Display the bytes received
> //
> if ( 0 == RetVal ) {
> - printf ( "Total Bytes Received: %Ld\r\n", TotalBytesReceived );
> + printf ( "Total Bytes Received: %llu\r\n", TotalBytesReceived );
> }
>
> //
> diff --git a/StdLib/BsdSocketLib/getnetbyht.c
> b/StdLib/BsdSocketLib/getnetbyht.c
> index 08b8042..f990c65 100644
> --- a/StdLib/BsdSocketLib/getnetbyht.c
> +++ b/StdLib/BsdSocketLib/getnetbyht.c
> @@ -41,6 +41,11 @@
> * from getnetent.c 1.1 (Coimbra) 93/06/02
> */
>
> +/*
> + * Copyright (c) 2023 - 2024, Intel Corporation. All rights reserved.
> + * SPDX-License-Identifier: BSD-2-Clause-Patent
> + */
> +
> #if defined(LIBC_SCCS) && !defined(lint)
> static char sccsid[] = "@(#)getnetent.c 8.1 (Berkeley) 6/4/93";
> static char orig_rcsid[] = "From: Id: getnetent.c,v 8.4 1997/06/01 20:34:37
> vixie Exp";
> @@ -155,13 +160,13 @@ found:
> }
>
> struct netent *
> -_getnetbyhtaddr(register unsigned long net, register int type)
> +_getnetbyhtaddr(register unsigned long net_local, register int type)
> {
> register struct netent *p;
>
> setnetent(_net_stayopen);
> while ( NULL != (p = getnetent()) )
> - if (p->n_addrtype == type && p->n_net == net)
> + if (p->n_addrtype == type && p->n_net == net_local)
> break;
> if (!_net_stayopen)
> endnetent();
> diff --git a/StdLib/BsdSocketLib/ns_print.c b/StdLib/BsdSocketLib/ns_print.c
> index ea29d01..75c28de 100644
> --- a/StdLib/BsdSocketLib/ns_print.c
> +++ b/StdLib/BsdSocketLib/ns_print.c
> @@ -55,6 +55,11 @@
> *
> */
>
> +/*
> + * Copyright (c) 2023 - 2024, Intel Corporation. All rights reserved.
> + * SPDX-License-Identifier: BSD-2-Clause-Patent
> + */
> +
> /* Import. */
>
> #include <sys/types.h>
> @@ -211,7 +216,7 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> break;
>
> case ns_t_soa: {
> - u_long t;
> + u_long t_local;
>
> /* Server name. */
> T(addname(msg, msglen, &rdata, origin, &buf, &buflen));
> @@ -226,45 +231,45 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> goto formerr;
>
> /* Serial number. */
> - t = ns_get32(rdata); rdata += NS_INT32SZ;
> + t_local = ns_get32(rdata); rdata += NS_INT32SZ;
> T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> - len = SPRINTF((tmp, "%lu", (unsigned long)t));
> + len = SPRINTF((tmp, "%lu", (unsigned long)t_local));
> T(addstr(tmp, len, &buf, &buflen));
> T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> T(addstr("; serial\n", 9, &buf, &buflen));
> spaced = 0;
>
> /* Refresh interval. */
> - t = ns_get32(rdata); rdata += NS_INT32SZ;
> + t_local = ns_get32(rdata); rdata += NS_INT32SZ;
> T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> - T(len = ns_format_ttl(t, buf, buflen));
> + T(len = ns_format_ttl(t_local, buf, buflen));
> addlen(len, &buf, &buflen);
> T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> T(addstr("; refresh\n", 10, &buf, &buflen));
> spaced = 0;
>
> /* Retry interval. */
> - t = ns_get32(rdata); rdata += NS_INT32SZ;
> + t_local = ns_get32(rdata); rdata += NS_INT32SZ;
> T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> - T(len = ns_format_ttl(t, buf, buflen));
> + T(len = ns_format_ttl(t_local, buf, buflen));
> addlen(len, &buf, &buflen);
> T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> T(addstr("; retry\n", 8, &buf, &buflen));
> spaced = 0;
>
> /* Expiry. */
> - t = ns_get32(rdata); rdata += NS_INT32SZ;
> + t_local = ns_get32(rdata); rdata += NS_INT32SZ;
> T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> - T(len = ns_format_ttl(t, buf, buflen));
> + T(len = ns_format_ttl(t_local, buf, buflen));
> addlen(len, &buf, &buflen);
> T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> T(addstr("; expiry\n", 9, &buf, &buflen));
> spaced = 0;
>
> /* Minimum TTL. */
> - t = ns_get32(rdata); rdata += NS_INT32SZ;
> + t_local = ns_get32(rdata); rdata += NS_INT32SZ;
> T(addstr("\t\t\t\t\t", 5, &buf, &buflen));
> - T(len = ns_format_ttl(t, buf, buflen));
> + T(len = ns_format_ttl(t_local, buf, buflen));
> addlen(len, &buf, &buflen);
> T(addstr(" )", 2, &buf, &buflen));
> T(spaced = addtab(len, 16, spaced, &buf, &buflen));
> @@ -276,15 +281,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> case ns_t_mx:
> case ns_t_afsdb:
> case ns_t_rt: {
> - u_int t;
> + u_int t_local;
>
> if (rdlen < NS_INT16SZ)
> goto formerr;
>
> /* Priority. */
> - t = ns_get16(rdata);
> + t_local = ns_get16(rdata);
> rdata += NS_INT16SZ;
> - len = SPRINTF((tmp, "%u ", (unsigned int)t));
> + len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
> T(addstr(tmp, len, &buf, &buflen));
>
> /* Target. */
> @@ -294,15 +299,15 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> }
>
> case ns_t_px: {
> - u_int t;
> + u_int t_local;
>
> if (rdlen < NS_INT16SZ)
> goto formerr;
>
> /* Priority. */
> - t = ns_get16(rdata);
> + t_local = ns_get16(rdata);
> rdata += NS_INT16SZ;
> - len = SPRINTF((tmp, "%u ", (unsigned int)t));
> + len = SPRINTF((tmp, "%u ", (unsigned int)t_local));
> T(addstr(tmp, len, &buf, &buflen));
>
> /* Name1. */
> @@ -503,33 +508,33 @@ ns_sprintrrf(const u_char *msg, size_t msglen,
> }
>
> case ns_t_sig: {
> - u_int type, algorithm, labels, footprint;
> + u_int type_local, algorithm, labels, footprint;
> const char *leader;
> - u_long t;
> + u_long t_local;
> int n;
>
> if (rdlen < 22)
> goto formerr;
>
> /* Type covered, Algorithm, Label count, Original TTL. */
> - type = ns_get16(rdata); rdata += NS_INT16SZ;
> + type_local = ns_get16(rdata); rdata += NS_INT16SZ;
> algorithm = *rdata++;
> labels = *rdata++;
> - t = ns_get32(rdata); rdata += NS_INT32SZ;
> + t_local = ns_get32(rdata); rdata += NS_INT32SZ;
> len = SPRINTF((tmp, " %s %d %lu ",
> - p_type((int)type), (int)algorithm, (unsigned long)t));
> + p_type((int)type_local), (int)algorithm, (unsigned
> long)t_local));
> T(addstr(tmp, len, &buf, &buflen));
> if (labels != (u_int)dn_count_labels(name))
> goto formerr;
>
> /* Signature expiry. */
> - t = ns_get32(rdata); rdata += NS_INT32SZ;
> - len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> + t_local = ns_get32(rdata); rdata += NS_INT32SZ;
> + len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
> T(addstr(tmp, len, &buf, &buflen));
>
> /* Time signed. */
> - t = ns_get32(rdata); rdata += NS_INT32SZ;
> - len = SPRINTF((tmp, "%s ", p_secstodate(t)));
> + t_local = ns_get32(rdata); rdata += NS_INT32SZ;
> + len = SPRINTF((tmp, "%s ", p_secstodate(t_local)));
> T(addstr(tmp, len, &buf, &buflen));
>
> /* Signature Footprint. */
> diff --git a/StdLib/EfiSocketLib/Socket.c b/StdLib/EfiSocketLib/Socket.c
> index ee15b62..5f91744 100644
> --- a/StdLib/EfiSocketLib/Socket.c
> +++ b/StdLib/EfiSocketLib/Socket.c
> @@ -5,7 +5,7 @@
> * Bound - pSocket->PortList is not NULL
> * Listen - AcceptWait event is not NULL
>
> - Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
> + Copyright (c) 2010 - 2024, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
>
> @@ -570,7 +570,7 @@ EslSocket (
> int ApiArraySize;
> ESL_SOCKET * pSocket;
> EFI_STATUS Status;
> - int errno;
> + int error_num;
>
> DBG_ENTER ( );
>
> @@ -583,7 +583,7 @@ EslSocket (
> }
>
> // Assume success
> - errno = 0;
> + error_num = 0;
> Status = EFI_SUCCESS;
>
> // Use break instead of goto
> @@ -595,7 +595,7 @@ EslSocket (
> DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> "ERROR - Invalid domain value\r\n" ));
> Status = EFI_INVALID_PARAMETER;
> - errno = EAFNOSUPPORT;
> + error_num = EAFNOSUPPORT;
> break;
> }
>
> @@ -625,7 +625,7 @@ EslSocket (
> "ERROR - Invalid type value\r\n" ));
> // The socket type is not supported
> Status = EFI_INVALID_PARAMETER;
> - errno = EPROTOTYPE;
> + error_num = EPROTOTYPE;
> break;
> }
>
> @@ -665,15 +665,15 @@ EslSocket (
> if ( ppApiArrayEnd <= ppApiArray ) {
> DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> "ERROR - The protocol is not supported!\r\n" ));
> - errno = EPROTONOSUPPORT;
> + error_num = EPROTONOSUPPORT;
> break;
> }
>
> // The driver does not support this protocol
> DEBUG (( DEBUG_ERROR | DEBUG_SOCKET,
> "ERROR - The protocol does not support this socket
> type!\r\n" ));
> - errno = EPROTONOSUPPORT;
> - errno = EPROTOTYPE;
> + error_num = EPROTONOSUPPORT;
> + error_num = EPROTOTYPE;
> break;
> }
> // Save the socket attributes
> @@ -687,7 +687,7 @@ EslSocket (
> }
> // Return the operation status
> if ( NULL != pErrno ) {
> - *pErrno = errno;
> + *pErrno = error_num;
> }
> DBG_EXIT_STATUS ( Status );
> return Status;
> @@ -1334,7 +1334,7 @@ EslSocketClosePoll (
> IN int * pErrno
> )
> {
> - int errno;
> + int error_num;
> ESL_LAYER * pLayer;
> ESL_SOCKET * pNextSocket;
> ESL_SOCKET * pSocket;
> @@ -1346,7 +1346,7 @@ EslSocketClosePoll (
> //
> // Assume success
> //
> - errno = 0;
> + error_num = 0;
> Status = EFI_SUCCESS;
>
> //
> @@ -1401,7 +1401,7 @@ EslSocketClosePoll (
> // At least one port is still open
> //
> Status = EFI_NOT_READY;
> - errno = EAGAIN;
> + error_num = EAGAIN;
> }
> }
> else {
> @@ -1409,7 +1409,7 @@ EslSocketClosePoll (
> // SocketCloseStart was not called
> //
> Status = EFI_NOT_STARTED;
> - errno = EPERM;
> + error_num = EPERM;
> }
> break;
> }
> @@ -1428,7 +1428,7 @@ EslSocketClosePoll (
> // Socket not found
> //
> Status = EFI_NOT_FOUND;
> - errno = ENOTSOCK;
> + error_num = ENOTSOCK;
> }
>
> //
> @@ -1440,7 +1440,7 @@ EslSocketClosePoll (
> // Return the operation status
> //
> if ( NULL != pErrno ) {
> - *pErrno = errno;
> + *pErrno = error_num;
> }
> DBG_EXIT_STATUS ( Status );
> return Status;
> @@ -1477,7 +1477,7 @@ EslSocketCloseStart (
> IN int * pErrno
> )
> {
> - int errno;
> + int error_num;
> ESL_PORT * pNextPort;
> ESL_PORT * pPort;
> ESL_SOCKET * pSocket;
> @@ -1490,7 +1490,7 @@ EslSocketCloseStart (
> // Assume success
> //
> Status = EFI_SUCCESS;
> - errno = 0;
> + error_num = 0;
>
> //
> // Synchronize with the socket layer
> @@ -1521,7 +1521,7 @@ EslSocketCloseStart (
> DEBUG_CLOSE | DEBUG_LISTEN |
> DEBUG_CONNECTION );
> if (( EFI_SUCCESS != Status )
> && ( EFI_NOT_READY != Status )) {
> - errno = EIO;
> + error_num = EIO;
> break;
> }
>
> @@ -1535,12 +1535,12 @@ EslSocketCloseStart (
> // Attempt to finish closing the socket
> //
> if ( NULL == pPort ) {
> - Status = EslSocketClosePoll ( pSocketProtocol, &errno );
> + Status = EslSocketClosePoll ( pSocketProtocol, &error_num );
> }
> }
> else {
> Status = EFI_NOT_READY;
> - errno = EAGAIN;
> + error_num = EAGAIN;
> }
>
> //
> @@ -1552,7 +1552,7 @@ EslSocketCloseStart (
> // Return the operation status
> //
> if ( NULL != pErrno ) {
> - *pErrno = errno;
> + *pErrno = error_num;
> }
> DBG_EXIT_STATUS ( Status );
> return Status;
> @@ -1889,7 +1889,7 @@ EslSocketFree (
> )
> {
> EFI_HANDLE ChildHandle;
> - int errno;
> + int error_num;
> ESL_LAYER * pLayer;
> ESL_SOCKET * pSocket;
> ESL_SOCKET * pSocketPrevious;
> @@ -1901,7 +1901,7 @@ EslSocketFree (
> //
> // Assume failure
> //
> - errno = EIO;
> + error_num = EIO;
> pSocket = NULL;
> Status = EFI_INVALID_PARAMETER;
>
> @@ -1986,7 +1986,7 @@ EslSocketFree (
> "0x%08x: Free pSocket, %d bytes\r\n",
> pSocket,
> sizeof ( *pSocket )));
> - errno = 0;
> + error_num = 0;
> }
> else {
> DEBUG (( DEBUG_ERROR | DEBUG_POOL,
> @@ -2014,10 +2014,10 @@ EslSocketFree (
> }
>
> //
> - // Return the errno value if possible
> + // Return the error_num value if possible
> //
> if ( NULL != pErrno ) {
> - *pErrno = errno;
> + *pErrno = error_num;
> }
>
> //
> @@ -2751,7 +2751,7 @@ EslSocketOptionGet (
> IN int * pErrno
> )
> {
> - int errno;
> + int error_num;
> socklen_t LengthInBytes;
> socklen_t MaxBytes;
> CONST UINT8 * pOptionData;
> @@ -2763,7 +2763,7 @@ EslSocketOptionGet (
> //
> // Assume failure
> //
> - errno = EINVAL;
> + error_num = EINVAL;
> Status = EFI_INVALID_PARAMETER;
>
> //
> @@ -2795,7 +2795,7 @@ EslSocketOptionGet (
> OptionName,
> (CONST void **
> __restrict)&pOptionData,
> &LengthInBytes );
> - errno = pSocket->errno;
> + error_num = pSocket->errno;
> break;
> }
> else {
> @@ -2814,7 +2814,7 @@ EslSocketOptionGet (
> "ERROR - %a does not support any options!\r\n",
> pSocket->pApi->pName ));
> }
> - errno = ENOPROTOOPT;
> + error_num = ENOPROTOOPT;
> Status = EFI_INVALID_PARAMETER;
> break;
>
> @@ -2825,7 +2825,7 @@ EslSocketOptionGet (
> // Socket option not supported
> //
> DEBUG (( DEBUG_INFO | DEBUG_OPTION, "ERROR - Invalid socket
> option!\r\n" ));
> - errno = EINVAL;
> + error_num = EINVAL;
> Status = EFI_INVALID_PARAMETER;
> break;
>
> @@ -2927,7 +2927,7 @@ EslSocketOptionGet (
> if ( LengthInBytes < MaxBytes ) {
> ZeroMem ( &((UINT8 *)pOptionValue)[LengthInBytes], MaxBytes -
> LengthInBytes );
> }
> - errno = 0;
> + error_num = 0;
> Status = EFI_SUCCESS;
> }
> }
> @@ -2936,7 +2936,7 @@ EslSocketOptionGet (
> // Return the operation status
> //
> if ( NULL != pErrno ) {
> - *pErrno = errno;
> + *pErrno = error_num;
> }
> DBG_EXIT_STATUS ( Status );
> return Status;
> @@ -2971,7 +2971,7 @@ EslSocketOptionSet (
> )
> {
> BOOLEAN bTrueFalse;
> - int errno;
> + int error_num;
> socklen_t LengthInBytes;
> UINT8 * pOptionData;
> ESL_SOCKET * pSocket;
> @@ -2982,7 +2982,7 @@ EslSocketOptionSet (
> //
> // Assume failure
> //
> - errno = EINVAL;
> + error_num = EINVAL;
> Status = EFI_INVALID_PARAMETER;
>
> //
> @@ -3015,7 +3015,7 @@ EslSocketOptionSet (
> OptionName,
> pOptionValue,
> OptionLength );
> - errno = pSocket->errno;
> + error_num = pSocket->errno;
> break;
> }
> else {
> @@ -3034,7 +3034,7 @@ EslSocketOptionSet (
> "ERROR - %a does not support any options!\r\n",
> pSocket->pApi->pName ));
> }
> - errno = ENOPROTOOPT;
> + error_num = ENOPROTOOPT;
> Status = EFI_INVALID_PARAMETER;
> break;
>
> @@ -3046,7 +3046,7 @@ EslSocketOptionSet (
> //
> DEBUG (( DEBUG_OPTION,
> "ERROR - Sockets does not support this option!\r\n" ));
> - errno = EINVAL;
> + error_num = EINVAL;
> Status = EFI_INVALID_PARAMETER;
> break;
>
> @@ -3133,7 +3133,7 @@ EslSocketOptionSet (
> // Set the option value
> //
> CopyMem ( pOptionData, pOptionValue, LengthInBytes );
> - errno = 0;
> + error_num = 0;
> Status = EFI_SUCCESS;
> }
> else {
> @@ -3150,7 +3150,7 @@ EslSocketOptionSet (
> // Return the operation status
> //
> if ( NULL != pErrno ) {
> - *pErrno = errno;
> + *pErrno = error_num;
> }
> DBG_EXIT_STATUS ( Status );
> return Status;
> --
> 2.45.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119999): https://edk2.groups.io/g/devel/message/119999
Mute This Topic: https://groups.io/mt/107454081/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
prev parent reply other threads:[~2024-07-21 21:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-20 15:48 [edk2-devel] [edk2-libc Patch v2 0/1] Support for compiling Python UEFI interpreter with VS2022 Jayaprakash, N
2024-07-20 15:48 ` [edk2-devel] [edk2-libc Patch v2 1/1] edk2-libc: " Jayaprakash, N
2024-07-21 21:01 ` Michael D Kinney [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CO1PR11MB4929D871B9722D7BBC669645D2AF2@CO1PR11MB4929.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox