qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3] qapi: add c_fun to escape function names


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v3] qapi: add c_fun to escape function names
Date: Mon, 26 Mar 2012 15:07:25 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120310 Thunderbird/11.0

On 03/20/2012 08:54 AM, Federico Simoncelli wrote:
Signed-off-by: Federico Simoncelli<address@hidden>

Applied.  Thanks.

Regards,

Anthony Liguori

---
  scripts/qapi-commands.py |   14 +++++++-------
  scripts/qapi-types.py    |    4 ++--
  scripts/qapi-visit.py    |    4 ++--
  scripts/qapi.py          |    5 ++++-
  4 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/scripts/qapi-commands.py b/scripts/qapi-commands.py
index 3aabf61..30a24d2 100644
--- a/scripts/qapi-commands.py
+++ b/scripts/qapi-commands.py
@@ -42,7 +42,7 @@ def generate_command_decl(name, args, ret_type):
      return mcgen('''
  %(ret_type)s qmp_%(name)s(%(args)sError **errp);
  ''',
-                 ret_type=c_type(ret_type), name=c_var(name), 
args=arglist).strip()
+                 ret_type=c_type(ret_type), name=c_fun(name), 
args=arglist).strip()

  def gen_sync_call(name, args, ret_type, indent=0):
      ret = ""
@@ -59,7 +59,7 @@ def gen_sync_call(name, args, ret_type, indent=0):
  %(retval)sqmp_%(name)s(%(args)serrp);

  ''',
-                name=c_var(name), args=arglist, retval=retval).rstrip()
+                name=c_fun(name), args=arglist, retval=retval).rstrip()
      if ret_type:
          ret += "\n" + mcgen(''''
  if (!error_is_set(errp)) {
@@ -74,7 +74,7 @@ if (!error_is_set(errp)) {
  def gen_marshal_output_call(name, ret_type):
      if not ret_type:
          return ""
-    return "qmp_marshal_output_%s(retval, ret, errp);" % c_var(name)
+    return "qmp_marshal_output_%s(retval, ret, errp);" % c_fun(name)

  def gen_visitor_output_containers_decl(ret_type):
      ret = ""
@@ -198,16 +198,16 @@ static void qmp_marshal_output_%(c_name)s(%(c_ret_type)s 
ret_in, QObject **ret_o
      qapi_dealloc_visitor_cleanup(md);
  }
  ''',
-                c_ret_type=c_type(ret_type), c_name=c_var(name),
+                c_ret_type=c_type(ret_type), c_name=c_fun(name),
                  visitor=type_visitor(ret_type))

      return ret

  def gen_marshal_input_decl(name, args, ret_type, middle_mode):
      if middle_mode:
-        return 'int qmp_marshal_input_%s(Monitor *mon, const QDict *qdict, 
QObject **ret)' % c_var(name)
+        return 'int qmp_marshal_input_%s(Monitor *mon, const QDict *qdict, 
QObject **ret)' % c_fun(name)
      else:
-        return 'static void qmp_marshal_input_%s(QDict *args, QObject **ret, 
Error **errp)' % c_var(name)
+        return 'static void qmp_marshal_input_%s(QDict *args, QObject **ret, 
Error **errp)' % c_fun(name)



@@ -298,7 +298,7 @@ def gen_registry(commands):
          registry += mcgen('''
  qmp_register_command("%(name)s", qmp_marshal_input_%(c_name)s);
  ''',
-                     name=cmd['command'], c_name=c_var(cmd['command']))
+                     name=cmd['command'], c_name=c_fun(cmd['command']))
      pop_indent()
      ret = mcgen('''
  static void qmp_init_marshal(void)
diff --git a/scripts/qapi-types.py b/scripts/qapi-types.py
index 727fb77..4a734f5 100644
--- a/scripts/qapi-types.py
+++ b/scripts/qapi-types.py
@@ -100,7 +100,7 @@ typedef enum %(name)s
      %(abbrev)s_%(value)s = %(i)d,
  ''',
                       abbrev=de_camel_case(name).upper(),
-                     value=c_var(value).upper(),
+                     value=c_fun(value).upper(),
                       i=i)
          i += 1

@@ -126,7 +126,7 @@ struct %(name)s
          %(c_type)s %(c_name)s;
  ''',
                       c_type=c_type(typeinfo[key]),
-                     c_name=c_var(key))
+                     c_name=c_fun(key))

      ret += mcgen('''
      };
diff --git a/scripts/qapi-visit.py b/scripts/qapi-visit.py
index 54117d4..78c947c 100644
--- a/scripts/qapi-visit.py
+++ b/scripts/qapi-visit.py
@@ -129,9 +129,9 @@ void visit_type_%(name)s(Visitor *m, %(name)s ** obj, const 
char *name, Error **
          break;
  ''',
                  abbrev = de_camel_case(name).upper(),
-                enum = de_camel_case(key).upper(),
+                enum = c_fun(de_camel_case(key)).upper(),
                  c_type=members[key],
-                c_name=c_var(key))
+                c_name=c_fun(key))

      ret += mcgen('''
      default:
diff --git a/scripts/qapi.py b/scripts/qapi.py
index 6e05469..e062336 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -131,7 +131,10 @@ def camel_case(name):
      return new_name

  def c_var(name):
-    return '_'.join(name.split('-')).lstrip("*")
+    return name.replace('-', '_').lstrip("*")
+
+def c_fun(name):
+    return c_var(name).replace('.', '_')

  def c_list_type(name):
      return '%sList' % name




reply via email to

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