Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com> --- qstring.c | 9 +++++++++ qstring.h | 1 + tests/check-qstring.c | 17 +++++++++++++++++ 3 files changed, 27 insertions(+)
diff --git a/qstring.c b/qstring.c index b7e12e4..b1bf975 100644 --- a/qstring.c +++ b/qstring.c @@ -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 diff --git a/qstring.h b/qstring.h index 84ccd96..d1c8a07 100644 --- a/qstring.h +++ b/qstring.h @@ -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); diff --git a/tests/check-qstring.c b/tests/check-qstring.c index addad6c..8e99c62 100644 --- a/tests/check-qstring.c +++ b/tests/check-qstring.c @@ -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(); -- 1.7.9.2.384.g4a92a