瀏覽代碼

qapi/qlist: Add qlist_append_null() macro

Besides the macro itself, this patch also adds a corresponding
Coccinelle rule.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-id: 20171114180128.17076-3-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Max Reitz 7 年之前
父節點
當前提交
254bf807e5
共有 2 個文件被更改,包括 6 次插入0 次删除
  1. 3 0
      include/qapi/qmp/qlist.h
  2. 3 0
      scripts/coccinelle/qobject.cocci

+ 3 - 0
include/qapi/qmp/qlist.h

@@ -15,6 +15,7 @@
 
 
 #include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qnum.h"
 #include "qapi/qmp/qnum.h"
+#include "qapi/qmp/qnull.h"
 #include "qemu/queue.h"
 #include "qemu/queue.h"
 
 
 typedef struct QListEntry {
 typedef struct QListEntry {
@@ -37,6 +38,8 @@ typedef struct QList {
         qlist_append(qlist, qbool_from_bool(value))
         qlist_append(qlist, qbool_from_bool(value))
 #define qlist_append_str(qlist, value) \
 #define qlist_append_str(qlist, value) \
         qlist_append(qlist, qstring_from_str(value))
         qlist_append(qlist, qstring_from_str(value))
+#define qlist_append_null(qlist) \
+        qlist_append(qlist, qnull())
 
 
 #define QLIST_FOREACH_ENTRY(qlist, var)             \
 #define QLIST_FOREACH_ENTRY(qlist, var)             \
         for ((var) = ((qlist)->head.tqh_first);     \
         for ((var) = ((qlist)->head.tqh_first);     \

+ 3 - 0
scripts/coccinelle/qobject.cocci

@@ -41,4 +41,7 @@ expression Obj, E;
 |
 |
 - qlist_append(Obj, qstring_from_str(E));
 - qlist_append(Obj, qstring_from_str(E));
 + qlist_append_str(Obj, E);
 + qlist_append_str(Obj, E);
+|
+- qlist_append(Obj, qnull());
++ qlist_append_null(Obj);
 )
 )