From: Max Reitz <mreitz@redhat.com>
To: Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 0/3] Extract non-QDicts in qdict_array_split()
Date: Wed, 26 Feb 2014 18:16:02 +0100 [thread overview]
Message-ID: <530E2152.4060901@redhat.com> (raw)
In-Reply-To: <5307D40F.4050104@redhat.com>
On 21.02.2014 23:32, Eric Blake wrote:
> On 02/21/2014 11:11 AM, Max Reitz wrote:
>> Currently, qdict_array_split() splits a QDict like
>> { "0.a": 42, "1": 23, "2.b": 84 }
>> into the QList
>> [ { "a": 42 } ]
>> with the QDict still being
>> { "1": 23, "2.b": 84 }
>>
>> However, it makes more sense to create the QList
>> [ { "a": 42 }, 23, { "b": 84 } ]
>> and having emptied the QDict.
>>
>> This is implemented by this series.
>>
> Question - in the code, we have a comment:
>
> /**
> * qdict_flatten(): For each nested QDict with key x, all fields with key y
> * are moved to this QDict and their key is renamed to "x.y". For each
> nested
> * QList with key x, the field at index y is moved to this QDict with
> the key
> * "x.y" (i.e., the reverse of what qdict_array_split() does).
> * This operation is applied recursively for nested QDicts and QLists.
> */
>
> With your new split rules, do we need a followup patch to qdict_flatten
> that can regenerate the QDict with "%u" keys for non-dict members of the
> QList?
If you want qdict_flatten() to return a QDict with "%u" keys, you'd have
to specify a QList. However, this would no longer be a qdict_flatten(),
but rather a qlist_flatten().
It would be easy to make use of qdict_flatten_qdict() and
qdict_flatten_qlist() to implement qlist_flatten() as well, but since
there is currently no such function, apparently there is no need for it.
Of course, I could just implement it preemptively, but then I'd probably
be asked for its purpose. ;-)
Max
next prev parent reply other threads:[~2014-02-26 17:13 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-21 18:11 [Qemu-devel] [PATCH 0/3] Extract non-QDicts in qdict_array_split() Max Reitz
2014-02-21 18:11 ` [Qemu-devel] [PATCH 1/3] qemu-config: Sections must consist of keys Max Reitz
2014-02-21 18:22 ` Eric Blake
2014-02-21 18:11 ` [Qemu-devel] [PATCH 2/3] qdict: Extract non-QDicts in qdict_array_split() Max Reitz
2014-02-21 18:37 ` Eric Blake
2014-02-21 19:40 ` Max Reitz
2014-02-21 18:11 ` [Qemu-devel] [PATCH 3/3] check-qdict: Adjust test for qdict_array_split() Max Reitz
2014-02-21 18:39 ` Eric Blake
2014-02-21 19:41 ` Max Reitz
2014-02-21 21:17 ` [Qemu-devel] [PATCH 0/3] Extract non-QDicts in qdict_array_split() Kevin Wolf
2014-02-21 22:32 ` Eric Blake
2014-02-26 17:16 ` Max Reitz [this message]
2014-02-26 18:18 ` Eric Blake
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-all 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=530E2152.4060901@redhat.com \
--to=mreitz@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.