diff mbox

[v4,2/3] qapi: add const prefix to 'char *' insider c_type()

Message ID 1399511680-12811-3-git-send-email-akong@redhat.com
State New
Headers show

Commit Message

Amos Kong May 8, 2014, 1:14 a.m. UTC
It's ugly to add const prefix for parameter type by a if statement
outsider 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>
---
 scripts/qapi-commands.py | 4 +---
 scripts/qapi.py          | 4 +++-
 2 files changed, 4 insertions(+), 4 deletions(-)

Comments

Eric Blake May 13, 2014, 2:59 a.m. UTC | #1
On 05/07/2014 07:14 PM, Amos Kong wrote:
> It's ugly to add const prefix for parameter type by a if statement

s/a if/an if/

> outsider c_type(). This patch adds a parameter to do it.

s/outsider/outside/

> 
> Signed-off-by: Amos Kong <akong@redhat.com>
> Suggested-by: Markus Armbruster <armbru@redhat.com>
> ---
>  scripts/qapi-commands.py | 4 +---
>  scripts/qapi.py          | 4 +++-
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 

Reviewed-by: Eric Blake <eblake@redhat.com>
diff mbox

Patch

diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py
index 8d9096f..8f8a258 100644
--- a/scripts/qapi-commands.py
+++ b/scripts/qapi-commands.py
@@ -26,9 +26,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 ec806aa..1bc2bd9 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -462,8 +462,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'