On 02/16/2011 01:13 AM, Anthony Liguori wrote:
On 02/15/2011 10:26 AM, Chris Wright wrote:
QAPI and QMP
- Anthony adding a new wiki page to describe all of this
http://wiki.qemu.org/Features/QAPI
[ 'change', {'device': 'str', 'target': 'str'}, {'arg': 'str'}, 'none' ]
->
void qmp_change(const char *device, const char *target, bool has_arg,
const char *arg, Error **errp);
AFAICT a json-string allows embedded NULs ('\0000'). There translate to
UTF-8 as '\0', terminating your char *s. Either we use some
length/pointer structure, or the parser has to look for them and kill
them, and we have to specify them as verboten.
BlockDeviceInfo *qmp_query_block_device_info(const char *device, Error **errp)
{
BlockDeviceInfo *info;
BlockDriverState *bs;
Error *local_err = NULL;
bs = bdrv_find(device,&local_err);
if (local_err) {
error_propagate(errp, local_err);
return NULL;
}
info->file = qemu_strdup(bs->filename);
info->ro = bs->readonly;
info->drv = qemu_strdup(bs->drv);
info->encrypted = bs->encrypted;
if (bs->backing_file[0]) {
info->has_backing_file = true;
info->backing_file = qemu_strdup(info->backing_file);
}
return info;
}
So, info and all its pointer-typed members are required to be
qemu_free() compatible, with just a single pointer pointing to an
object, and generated code will qemu_free() everything?
Recommend translating '-' in identifiers to '_' so we can use '-' in the
schema as a word separator.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html