Message ID | 1402399553-21692-3-git-send-email-akong@redhat.com |
---|---|
State | New |
Headers | show |
On 06/10/2014 05:25 AM, Amos Kong wrote: > It's ugly to add const prefix for parameter type by an if statement > outside c_type(). This patch adds a parameter to do it. > > Signed-off-by: Amos Kong <akong@redhat.com> > Suggested-by: Markus Armbruster <armbru@redhat.com> > Reviewed-by: Eric Blake <eblake@redhat.com> > Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> > Reviewed-by: Markus Armbruster <armbru@redhat.com> > --- > scripts/qapi-commands.py | 4 +--- > scripts/qapi.py | 4 +++- > 2 files changed, 4 insertions(+), 4 deletions(-) Wenchao's series introduces another client that needs this treatment: https://lists.gnu.org/archive/html/qemu-devel/2014-06/msg01225.html Depending on what order things get merged in, you may need followup patches or conflict resolution. > > diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py > index 7d93d01..34f200a 100644 > --- a/scripts/qapi-commands.py > +++ b/scripts/qapi-commands.py > @@ -29,9 +29,7 @@ def type_visitor(name): > def generate_command_decl(name, args, ret_type): > arglist="" > for argname, argtype, optional, structured in parse_args(args): > - argtype = c_type(argtype) > - if argtype == "char *": > - argtype = "const char *" > + argtype = c_type(argtype, is_param=True)
On Tue, Jun 17, 2014 at 09:51:21PM -0600, Eric Blake wrote: > On 06/10/2014 05:25 AM, Amos Kong wrote: > > It's ugly to add const prefix for parameter type by an if statement > > outside c_type(). This patch adds a parameter to do it. > > > > Signed-off-by: Amos Kong <akong@redhat.com> > > Suggested-by: Markus Armbruster <armbru@redhat.com> > > Reviewed-by: Eric Blake <eblake@redhat.com> > > Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> > > Reviewed-by: Markus Armbruster <armbru@redhat.com> > > --- > > scripts/qapi-commands.py | 4 +--- > > scripts/qapi.py | 4 +++- > > 2 files changed, 4 insertions(+), 4 deletions(-) > > Wenchao's series introduces another client that needs this treatment: > https://lists.gnu.org/archive/html/qemu-devel/2014-06/msg01225.html > > Depending on what order things get merged in, you may need followup > patches or conflict resolution. Thanks for the reminder. I just checked the patch, c_type() is only used once, and the output is used insider mcgen(). So it's safe to apply my patchset. > > diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py > > index 7d93d01..34f200a 100644 > > --- a/scripts/qapi-commands.py > > +++ b/scripts/qapi-commands.py > > @@ -29,9 +29,7 @@ def type_visitor(name): > > def generate_command_decl(name, args, ret_type): > > arglist="" > > for argname, argtype, optional, structured in parse_args(args): > > - argtype = c_type(argtype) > > - if argtype == "char *": > > - argtype = "const char *" > > + argtype = c_type(argtype, is_param=True) > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >
diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py index 7d93d01..34f200a 100644 --- a/scripts/qapi-commands.py +++ b/scripts/qapi-commands.py @@ -29,9 +29,7 @@ def type_visitor(name): def generate_command_decl(name, args, ret_type): arglist="" for argname, argtype, optional, structured in parse_args(args): - argtype = c_type(argtype) - if argtype == "char *": - argtype = "const char *" + argtype = c_type(argtype, is_param=True) if optional: arglist += "bool has_%s, " % c_var(argname) arglist += "%s %s, " % (argtype, c_var(argname)) diff --git a/scripts/qapi.py b/scripts/qapi.py index 86e9608..dc690bb 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -470,8 +470,10 @@ def find_enum(name): def is_enum(name): return find_enum(name) != None -def c_type(name): +def c_type(name, is_param=False): if name == 'str': + if is_param: + return 'const char *' return 'char *' elif name == 'int': return 'int64_t'