Thanks Abner. I found an issue in this patch and resolved it in version 2 here: 
https://edk2.groups.io/g/devel/message/113780

Could you please help me to review it again?

Regards,
Nickle

> -----Original Message-----
> From: Chang, Abner <abner.ch...@amd.com>
> Sent: Saturday, January 13, 2024 10:19 PM
> To: Nickle Wang <nick...@nvidia.com>; devel@edk2.groups.io
> Cc: Igor Kulchytskyy <ig...@ami.com>; Nick Ramirez <nrami...@nvidia.com>
> Subject: RE: [PATCH] RedfishPkg/RedfishCrtLib: handle floating point number in
> JSON
> 
> External email: Use caution opening links or attachments
> 
> 
> [AMD Official Use Only - General]
> 
> Reviewed-by: Abner Chang <abner.ch...@amd.com>
> 
> > -----Original Message-----
> > From: Nickle Wang <nick...@nvidia.com>
> > Sent: Friday, January 12, 2024 6:42 PM
> > To: devel@edk2.groups.io
> > Cc: Chang, Abner <abner.ch...@amd.com>; Igor Kulchytskyy
> > <ig...@ami.com>; Nick Ramirez <nrami...@nvidia.com>
> > Subject: [PATCH] RedfishPkg/RedfishCrtLib: handle floating point
> > number in JSON
> >
> > Caution: This message originated from an External Source. Use proper
> > caution when opening attachments, clicking links, or responding.
> >
> >
> > When the value type is defined as number in Redfish schema, floating
> > point number is allowed. RedfishCrtLib raises assert without handling
> > this case now. Follow the way in EDK2 to call AsciiStrDecimalToUintnS
> > and handle the floating point number.
> >
> > Signed-off-by: Nickle Wang <nick...@nvidia.com>
> > Cc: Abner Chang <abner.ch...@amd.com>
> > Cc: Igor Kulchytskyy <ig...@ami.com>
> > Cc: Nick Ramirez <nrami...@nvidia.com>
> > ---
> >  .../PrivateLibrary/RedfishCrtLib/RedfishCrtLib.c  | 15
> > ++++++++++-----
> >  1 file changed, 10 insertions(+), 5 deletions(-)
> >
> > diff --git a/RedfishPkg/PrivateLibrary/RedfishCrtLib/RedfishCrtLib.c
> > b/RedfishPkg/PrivateLibrary/RedfishCrtLib/RedfishCrtLib.c
> > index 57a997f351..e88d874224 100644
> > --- a/RedfishPkg/PrivateLibrary/RedfishCrtLib/RedfishCrtLib.c
> > +++ b/RedfishPkg/PrivateLibrary/RedfishCrtLib/RedfishCrtLib.c
> > @@ -4,6 +4,7 @@
> >
> >    Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> >    (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
> > +  Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights
> > reserved.
> >
> >      SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > @@ -519,7 +520,7 @@ strtoull (
> >  }
> >
> >  /**
> > -  edk2 Jansson port does not support doubles, simply return 0.
> > +  edk2 Jansson port does not support doubles, simply return integer part.
> >
> >    These conversion functions convert the initial portion of the string
> >    pointed to by nptr to double, float, and long double
> > representation, @@ -540,7 +541,7 @@ strtoull (
> >    the return value), and ERANGE is stored in errno.  If the correct value
> >    would cause underflow, zero is returned and ERANGE is stored in errno.
> >
> > -  @return  Return 0.
> > +  @return  Integer part of decimal number.
> >  **/
> >  double
> >  strtod (
> > @@ -548,9 +549,13 @@ strtod (
> >    char **__restrict       endptr
> >    )
> >  {
> > -  DEBUG ((DEBUG_ERROR, "We don't supprot double type on edk2 yet!"));
> > -  ASSERT (FALSE);
> > -  return (double)0;
> > +  UINTN  Data;
> > +
> > +  Data = 0;
> > +
> > +  AsciiStrDecimalToUintnS (nptr, endptr, &Data);  DEBUG ((DEBUG_WARN,
> > + "%a: We don't support double type on edk2 yet.
> > Only integer part is returned\n", __func__));
> > +  return (double)Data;
> >  }
> >
> >  static UINT8  BitMask[] = {
> > --
> > 2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113781): https://edk2.groups.io/g/devel/message/113781
Mute This Topic: https://groups.io/mt/103680418/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to