@@ -32,6 +32,15 @@ QString *qstring_new(void)
}
/**
+ * qstring_len(): Get string length
+ *
+ */
+size_t qstring_len(const QString *qstring)
+{
+ return qstring->length;
+}
+
+/**
* qstring_from_substr(): Create a new QString from a C string substring
*
* Return string reference
@@ -24,6 +24,7 @@ typedef struct QString {
} QString;
QString *qstring_new(void);
+size_t qstring_len(const QString *qstring);
QString *qstring_from_str(const char *str);
QString *qstring_from_substr(const char *str, int start, int end);
const char *qstring_get_str(const QString *qstring);
@@ -81,6 +81,22 @@ static void qstring_from_substr_test(void)
QDECREF(qs);
}
+static void qstring_len_test(void)
+{
+ const char *str = "virtualization";
+ QString *qs;
+
+ qs = qstring_new();
+ g_assert(qstring_len(qs) == 0);
+
+ qstring_append(qs, "QEMU");
+ g_assert(qstring_len(qs) == 4);
+ QDECREF(qs);
+
+ qs = qstring_from_str(str);
+ g_assert(qstring_len(qs) == strlen(str));
+ QDECREF(qs);
+}
static void qobject_to_qstring_test(void)
{
@@ -101,6 +117,7 @@ int main(int argc, char **argv)
g_test_add_func("/public/get_str", qstring_get_str_test);
g_test_add_func("/public/append_chr", qstring_append_chr_test);
g_test_add_func("/public/from_substr", qstring_from_substr_test);
+ g_test_add_func("/public/len", qstring_len_test);
g_test_add_func("/public/to_qstring", qobject_to_qstring_test);
return g_test_run();
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> --- qstring.c | 9 +++++++++ qstring.h | 1 + tests/check-qstring.c | 17 +++++++++++++++++ 3 files changed, 27 insertions(+)