[Qemu-devel] [PATCH RFC 0/6] qapi: rewrite string-input-visitor

David Hildenbrand posted 6 patches 5 years, 5 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20181109110221.10553-1-david@redhat.com
Test docker-clang@ubuntu passed
Test checkpatch passed
Test asan passed
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
There is a newer version of this series
include/qapi/string-input-visitor.h |   3 +-
include/qemu/cutils.h               |   1 +
qapi/string-input-visitor.c         | 444 ++++++++++++++++------------
tests/test-string-input-visitor.c   | 131 +++++---
util/cutils.c                       |  22 ++
5 files changed, 377 insertions(+), 224 deletions(-)
[Qemu-devel] [PATCH RFC 0/6] qapi: rewrite string-input-visitor
Posted by David Hildenbrand 5 years, 5 months ago
Rewrite string-input-visitor to be (hopefully) less ugly. Support
int and uint lists (including ranges, but not implemented via type
"Range").

Virtual walks are now supported and more errors are cought (and some bugs
fixed). Fix and extend the tests. Parsing of uint64_t is now properly
supported.

Importantly, when parsing a list we now return the list and not an
ordered set (we are not an ordered set parser after all). Whoever needs
that can add it on top. As far as I can see, current code can deal with
it but I'll have to look at the details.

Guess once this part here is done, the output visitor is the next thing
to rework.

David Hildenbrand (6):
  cutils: add qemu_strtod()
  qapi: use qemu_strtod() in string-input-visitor
  qapi: rewrite string-input-visitor
  test-string-input-visitor: use virtual walk
  test-string-input-visitor: split off uint64 list tests
  test-string-input-visitor: add range overflow tests

 include/qapi/string-input-visitor.h |   3 +-
 include/qemu/cutils.h               |   1 +
 qapi/string-input-visitor.c         | 444 ++++++++++++++++------------
 tests/test-string-input-visitor.c   | 131 +++++---
 util/cutils.c                       |  22 ++
 5 files changed, 377 insertions(+), 224 deletions(-)

-- 
2.17.2