[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qemu: json: Fix parsing of integers >= 0x800000

From: Richard W.M. Jones
Subject: Re: [Qemu-devel] [PATCH] qemu: json: Fix parsing of integers >= 0x8000000000000000
Date: Mon, 23 May 2011 16:19:48 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, May 23, 2011 at 10:07:21AM -0500, Anthony Liguori wrote:
> On 05/23/2011 09:29 AM, Markus Armbruster wrote:
> >Anthony Liguori<address@hidden>  writes:
> >
> >JavaScript's implementation of JSON sets limits on the range of numbers,
> >namely they need to fit into IEEE doubles.
> >
> >Our implementation sets different limits.  IIRC, it's something like
> >"numbers with a fractional part or an exponent need to fit into IEEE
> >doubles, anything else into int64_t."  Not exactly the acme of elegance,
> >either.  But it works for us.
> In order to be compatible with JavaScript (which I think is
> necessary to really satisfy the spec), we just need to make sure
> that our integers are represented by at least 53-bits (to enable
> signed integers) and critically, fall back to floating point
> representation to ensure that we round instead of truncate.

The problem is to be able to send 64 bit memory and disk offsets
faithfully.  This doesn't just fail to solve the problem, it's
actually going to make it a whole lot worse.

I don't agree with you that whatever the JSON standard (RFC) doesn't
specify must be filled in by reading Javascript/ECMA.  If this is so
important, it's very odd that it doesn't mention this fallback in the
RFC.  If you read the RFC alone then it's pretty clear (to me) that it
leaves limits up to the application.


Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]