qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 04/10] qapi: shortcut visits on errors


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 04/10] qapi: shortcut visits on errors
Date: Thu, 22 Mar 2012 15:17:59 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2

On 03/22/2012 06:51 AM, Paolo Bonzini wrote:
We can exit very soon if we enter a visitor with a preexisting error.
This simplifies some cases because we will not have to deal with
obj being non-NULL while *obj is NULL.

Signed-off-by: Paolo Bonzini<address@hidden>

Reviewed-by: Anthony Liguori <address@hidden>

Regards,

Anthony Liguori

---
  scripts/qapi-visit.py |    9 +++++++++
  1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/scripts/qapi-visit.py b/scripts/qapi-visit.py
index 54117d4..b242315 100644
--- a/scripts/qapi-visit.py
+++ b/scripts/qapi-visit.py
@@ -61,6 +61,9 @@ def generate_visit_struct(name, members):

  void visit_type_%(name)s(Visitor *m, %(name)s ** obj, const char *name, Error 
**errp)
  {
+    if (error_is_set(errp)) {
+        return;
+    }
      visit_start_struct(m, (void **)obj, "%(name)s", name, sizeof(%(name)s), 
errp);
  ''',
                  name=name)
@@ -81,6 +84,9 @@ void visit_type_%(name)sList(Visitor *m, %(name)sList ** obj, 
const char *name,
  {
      GenericList *i, **head = (GenericList **)obj;

+    if (error_is_set(errp)) {
+        return;
+    }
      visit_start_list(m, name, errp);

      for (*head = i = visit_next_list(m, head, errp); i; i = 
visit_next_list(m,&i, errp)) {
@@ -112,6 +118,9 @@ void visit_type_%(name)s(Visitor *m, %(name)s ** obj, const 
char *name, Error **
  {
      Error *err = NULL;

+    if (error_is_set(errp)) {
+        return;
+    }
      visit_start_struct(m, (void **)obj, "%(name)s", name, 
sizeof(%(name)s),&err);
      visit_type_%(name)sKind(m,&(*obj)->kind, "type",&err);
      if (err) {




reply via email to

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