[libvirt] [PATCH 06/20] qemumonitortestutils: Use VIR_DELETE_ELEMENT and VIR_APPEND_ELEMENT

Peter Krempa pkrempa at redhat.com
Tue Jul 30 13:05:41 UTC 2013


Simplify the code using the existing helpers instead of open coding the
same functionality.
---
 tests/qemumonitortestutils.c | 32 +++++++++-----------------------
 1 file changed, 9 insertions(+), 23 deletions(-)

diff --git a/tests/qemumonitortestutils.c b/tests/qemumonitortestutils.c
index ff90c5f..a3c5431 100644
--- a/tests/qemumonitortestutils.c
+++ b/tests/qemumonitortestutils.c
@@ -133,17 +133,11 @@ qemuMonitorTestProcessCommandJSON(qemuMonitorTestPtr test,
                                         " { \"desc\": \"Unexpected command\", "
                                         "   \"class\": \"UnexpectedCommand\" } }");
     } else {
-        ret = qemuMonitorTestAddReponse(test,
-                                        test->items[0]->response);
+        ret = qemuMonitorTestAddReponse(test, test->items[0]->response);
         qemuMonitorTestItemFree(test->items[0]);
-        if (test->nitems == 1) {
-            VIR_FREE(test->items);
-            test->nitems = 0;
-        } else {
-            memmove(test->items,
-                    test->items + 1,
-                    sizeof(test->items[0]) * (test->nitems - 1));
-            VIR_SHRINK_N(test->items, test->nitems, 1);
+        if (VIR_DELETE_ELEMENT(test->items, 0, test->nitems) < 0) {
+            ret = -1;
+            goto cleanup;
         }
     }

@@ -175,17 +169,11 @@ qemuMonitorTestProcessCommandText(qemuMonitorTestPtr test,
         ret = qemuMonitorTestAddReponse(test,
                                         "unexpected command");
     } else {
-        ret = qemuMonitorTestAddReponse(test,
-                                        test->items[0]->response);
+        ret = qemuMonitorTestAddReponse(test, test->items[0]->response);
         qemuMonitorTestItemFree(test->items[0]);
-        if (test->nitems == 1) {
-            VIR_FREE(test->items);
-            test->nitems = 0;
-        } else {
-            memmove(test->items,
-                    test->items + 1,
-                    sizeof(test->items[0]) * (test->nitems - 1));
-            VIR_SHRINK_N(test->items, test->nitems, 1);
+        if (VIR_DELETE_ELEMENT(test->items, 0, test->nitems) < 0) {
+            ret = -1;
+            goto cleanup;
         }
     }

@@ -421,12 +409,10 @@ qemuMonitorTestAddItem(qemuMonitorTestPtr test,
         goto error;

     virMutexLock(&test->lock);
-    if (VIR_EXPAND_N(test->items, test->nitems, 1) < 0) {
+    if (VIR_APPEND_ELEMENT(test->items, test->nitems, item) < 0) {
         virMutexUnlock(&test->lock);
         goto error;
     }
-    test->items[test->nitems - 1] = item;
-
     virMutexUnlock(&test->lock);

     return 0;
-- 
1.8.3.2




More information about the libvir-list mailing list