Current QMP's client argument checker code is more complex than it should be and has a flaw: it ignores unknown arguments.
This series solves both problems by introducing a new, simple and ultra-poweful argument checker. This wasn't trivial to get right due to the number of errors combinations, so review is very appreciated. changelog --------- v2 -> v3 - Move all input object checking into qmp_check_input_obj() - Fix remaining problem with the handling of O-type arguments - Small renames suggested by Markus - Small cleanup in handle_qmp_command() v1 -> v2 - Introduce new iteration API and use it - Handle O-type correctly (I hope so) - Address several small issues found by Markus