[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/17] json: learn to parse uint64 numbers
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH 07/17] json: learn to parse uint64 numbers |
Date: |
Wed, 31 May 2017 10:53:41 +0000 |
Hi
On Wed, May 31, 2017 at 2:08 PM Markus Armbruster <address@hidden> wrote:
> Marc-André Lureau <address@hidden> writes:
>
> > Hi
> >
> > On Mon, May 15, 2017 at 6:00 PM Markus Armbruster <address@hidden>
> wrote:
> >
> >> Marc-André Lureau <address@hidden> writes:
> >>
> >> > Switch strtoll() usage to qemu_strtoi64() helper while at it.
> >> >
> >> > Replace temporarily the error in qnum_get_int() with values >INT64_MAX
> >> > until the visitor is updated.
> >> >
> >> > Add a few tests for large numbers.
> >> >
> >> > Signed-off-by: Marc-André Lureau <address@hidden>
> [...]
> >> > diff --git a/qobject/qnum.c b/qobject/qnum.c
> >> > index be6307accf..2f87952db8 100644
> >> > --- a/qobject/qnum.c
> >> > +++ b/qobject/qnum.c
> >> > @@ -76,8 +76,8 @@ int64_t qnum_get_int(const QNum *qn, Error **errp)
> >> > return qn->u.i64;
> >> > case QNUM_U64:
> >> > if (qn->u.u64 > INT64_MAX) {
> >> > - error_setg(errp, "The number is too large, use
> qnum_get_uint()");
> >> > - return 0;
> >> > + /* temporarily accepts to cast to i64 until visitor is
> switched */
> >> > + error_report("The number is too large, use
> qnum_get_uint()");
> >>
> >> Awkward. Can we avoid this somehow?
> >>
> >>
> > by merging the next two patches? I think it's easier to understand why
> and
> > how I came up with the following fix.
>
> I played with it a bit. Here's something that appears to do the trick:
>
> PATCH 07: Drop changes to qobject/qnum.c tests/check-qnum.c
> Move change to tests/test-qobject-input-visitor.c to PATCH 08
> PATCH 08: Move PATCH 09's change to hw/i386/acpi-build.c here
> PATCH 09: No need to revert the changes dropped in PATCH 07; patch is
> now empty
>
> Less churn, no temporary breakage, same end result.
>
ok
>
> Pushed as branch hack-qapi-qnum for your convenience:
> https://repo.or.cz/qemu/armbru.git/shortlog/refs/heads/hack-qapi-qnum
>
> Original is on branch review-qapi-qnum.
>
>
thanks that helped
> >> > }
> >> > return qn->u.u64;
> >> > case QNUM_DOUBLE:
> [...]
>
--
Marc-André Lureau
- [Qemu-devel] [PATCH 05/17] qapi: remove promote_int, (continued)
[Qemu-devel] [PATCH 08/17] qapi: update the qobject visitor to use QUInt, Marc-André Lureau, 2017/05/09
[Qemu-devel] [PATCH 09/17] qnum: fix get_int() with values > INT64_MAX, Marc-André Lureau, 2017/05/09
[Qemu-devel] [PATCH 10/17] object: add uint property setter/getter, Marc-André Lureau, 2017/05/09
[Qemu-devel] [PATCH 11/17] object: use more specific property type names, Marc-André Lureau, 2017/05/09