summaryrefslogtreecommitdiffstats
path: root/qlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'qlist.c')
-rw-r--r--qlist.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/qlist.c b/qlist.c
index 88498b157f..1ced0de58e 100644
--- a/qlist.c
+++ b/qlist.c
@@ -10,9 +10,9 @@
* See the COPYING.LIB file in the top-level directory.
*/
-#include "qlist.h"
-#include "qobject.h"
-#include "qemu-queue.h"
+#include "qapi/qmp/qlist.h"
+#include "qapi/qmp/qobject.h"
+#include "qemu/queue.h"
#include "qemu-common.h"
static void qlist_destroy_obj(QObject *obj);
@@ -124,6 +124,19 @@ int qlist_empty(const QList *qlist)
return QTAILQ_EMPTY(&qlist->head);
}
+static void qlist_size_iter(QObject *obj, void *opaque)
+{
+ size_t *count = opaque;
+ (*count)++;
+}
+
+size_t qlist_size(const QList *qlist)
+{
+ size_t count = 0;
+ qlist_iter(qlist, qlist_size_iter, &count);
+ return count;
+}
+
/**
* qobject_to_qlist(): Convert a QObject into a QList
*/