|
@@ -149,16 +149,33 @@ bool qstring_is_equal(const QObject *x, const QObject *y)
|
|
qobject_to(QString, y)->string);
|
|
qobject_to(QString, y)->string);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * qstring_free(): Free the memory allocated by a QString object
|
|
|
|
+ *
|
|
|
|
+ * Return: if @return_str, return the underlying string, to be
|
|
|
|
+ * g_free(), otherwise NULL is returned.
|
|
|
|
+ */
|
|
|
|
+char *qstring_free(QString *qstring, bool return_str)
|
|
|
|
+{
|
|
|
|
+ char *rv = NULL;
|
|
|
|
+
|
|
|
|
+ if (return_str) {
|
|
|
|
+ rv = qstring->string;
|
|
|
|
+ } else {
|
|
|
|
+ g_free(qstring->string);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ g_free(qstring);
|
|
|
|
+
|
|
|
|
+ return rv;
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* qstring_destroy_obj(): Free all memory allocated by a QString
|
|
* qstring_destroy_obj(): Free all memory allocated by a QString
|
|
* object
|
|
* object
|
|
*/
|
|
*/
|
|
void qstring_destroy_obj(QObject *obj)
|
|
void qstring_destroy_obj(QObject *obj)
|
|
{
|
|
{
|
|
- QString *qs;
|
|
|
|
-
|
|
|
|
assert(obj != NULL);
|
|
assert(obj != NULL);
|
|
- qs = qobject_to(QString, obj);
|
|
|
|
- g_free(qs->string);
|
|
|
|
- g_free(qs);
|
|
|
|
|
|
+ qstring_free(qobject_to(QString, obj), FALSE);
|
|
}
|
|
}
|