qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] KVM call minutes for Feb 15


From: Avi Kivity
Subject: Re: [Qemu-devel] KVM call minutes for Feb 15
Date: Wed, 16 Feb 2011 12:24:41 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Lightning/1.0b3pre Thunderbird/3.1.7

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]