Il 27/02/2013 16:42, Anthony Liguori ha scritto:
There's such thing as list support in QemuOpts. The only way
QemuOptsVisitor was able to implement it was to expose QemuOpts publicly
via options_int.h and rely on a implementation detail.
There are fixed types supported by QemuOpts. It just so happens that
whenever qemu_opt_set() is called, instead of replacing the last
instance, the value is either prepended or appended in order to
implement a replace or set-if-unset behavior.
Fair enough. Nobody said the implementation is pretty.
If we want to have list syntax, we need to introduce first class
support
for it. Here's a simple example of how to do this.
If it is meant as a prototype only, and the final command-line syntax
would be with repeated keys, that's okay. I think that Eduardo/Markus/I
are focusing on the user interface, you're focusing in the implementation.
In the meanwhile, however, it seems to me that Eduardo can use
QemuOptsVisitor---which can also hide the details and provide type safety.
Paolo