All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.