qmp-input: Don't consume input when checking has_member
Commit e8316d7e mistakenly passed consume=true within qmp_input_optional() when checking if an optional member was present, but the mistake was silently ignored since the code happily let us extract a member more than once. Fix qmp_input_optional() to not consume anything, then tighten up the input visitor to ensure that a member is consumed exactly once (all generated code follows this pattern; and the new assert will catch any hand-written code that tries to visit the same key more than once). Signed-off-by: NEric Blake <eblake@redhat.com> Message-Id: <1461879932-9020-8-git-send-email-eblake@redhat.com> Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
Showing
想要评论请 注册 或 登录