]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
sexpr: Improve serialization error reporting
authorMatthias Bolte <matthias.bolte@googlemail.com>
Fri, 27 May 2011 13:08:43 +0000 (15:08 +0200)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Fri, 27 May 2011 13:31:33 +0000 (15:31 +0200)
src/util/sexpr.c

index d8d4c2d7d8d3a1ff90b48da677ffaa8e1f8dc4ef..0e300870fa469de9a6a6e9275b5c5222ab176917 100644 (file)
@@ -215,7 +215,7 @@ sexpr2string(const struct sexpr *sexpr, virBufferPtr buffer)
         virBufferAddChar(buffer, '(');
 
         if (sexpr2string(sexpr->u.s.car, buffer) < 0)
-            goto error;
+            return -1;
 
         while (sexpr->u.s.cdr->kind != SEXPR_NIL) {
             sexpr = sexpr->u.s.cdr;
@@ -223,7 +223,7 @@ sexpr2string(const struct sexpr *sexpr, virBufferPtr buffer)
             virBufferAddChar(buffer, ' ');
 
             if (sexpr2string(sexpr->u.s.car, buffer) < 0)
-                goto error;
+                return -1;
         }
 
         virBufferAddChar(buffer, ')');
@@ -241,14 +241,12 @@ sexpr2string(const struct sexpr *sexpr, virBufferPtr buffer)
         virBufferAddLit(buffer, "()");
         break;
     default:
-        goto error;
+        virSexprError(VIR_ERR_SEXPR_SERIAL,
+                      _("unknown s-expression kind %d"), sexpr->kind);
+        return -1;
     }
 
     return 0;
-
-  error:
-    virSexprError(VIR_ERR_SEXPR_SERIAL, NULL);
-    return -1;
 }
 
 #define IS_SPACE(c) ((c == 0x20) || (c == 0x9) || (c == 0xD) || (c == 0xA))