]> git.proxmox.com Git - mirror_qemu.git/blobdiff - qobject/qstring.c
qobject: Use GString instead of QString to accumulate JSON
[mirror_qemu.git] / qobject / qstring.c
index b66a2c35f22b61dc5e9df3c42b36f52db13a43f3..af7c18ca73864e50b00b1a86f6b3ee7bd9d00d66 100644 (file)
@@ -66,6 +66,25 @@ QString *qstring_from_str(const char *str)
     return qstring_from_substr(str, 0, strlen(str));
 }
 
+/**
+ * qstring_from_gstring(): Convert a GString to a QString
+ *
+ * Return strong reference.
+ */
+
+QString *qstring_from_gstring(GString *gstr)
+{
+    QString *qstring;
+
+    qstring = g_malloc(sizeof(*qstring));
+    qobject_init(QOBJECT(qstring), QTYPE_QSTRING);
+    qstring->length = gstr->len;
+    qstring->capacity = gstr->allocated_len;
+    qstring->string = g_string_free(gstr, false);
+    return qstring;
+}
+
+
 static void capacity_increase(QString *qstring, size_t len)
 {
     if (qstring->capacity < (qstring->length + len)) {