qdict: Make qdict_get_qlist() safe like qdict_get_qdict()

Commit 89cad9f changed qdict_get_qdict() to return NULL instead of
crash when the key doesn't exist or its value isn't a QDict.
Commit 2d6421a neglected to do the same for qdict_get_qlist().
Correct that, and update the function comments.

qdict_get_obj() is now unused, remove.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1487363905-9480-2-git-send-email-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Markus Armbruster 2017-02-17 21:38:12 +01:00
parent d3be4b57ce
commit b25f23e7db

View file

@ -177,20 +177,6 @@ size_t qdict_size(const QDict *qdict)
return qdict->size;
}
/**
* qdict_get_obj(): Get a QObject of a specific type
*/
static QObject *qdict_get_obj(const QDict *qdict, const char *key, QType type)
{
QObject *obj;
obj = qdict_get(qdict, key);
assert(obj != NULL);
assert(qobject_type(obj) == type);
return obj;
}
/**
* qdict_get_double(): Get an number mapped by 'key'
*
@ -241,25 +227,15 @@ bool qdict_get_bool(const QDict *qdict, const char *key)
}
/**
* qdict_get_qlist(): Get the QList mapped by 'key'
*
* This function assumes that 'key' exists and it stores a
* QList object.
*
* Return QList mapped by 'key'.
* qdict_get_qlist(): If @qdict maps @key to a QList, return it, else NULL.
*/
QList *qdict_get_qlist(const QDict *qdict, const char *key)
{
return qobject_to_qlist(qdict_get_obj(qdict, key, QTYPE_QLIST));
return qobject_to_qlist(qdict_get(qdict, key));
}
/**
* qdict_get_qdict(): Get the QDict mapped by 'key'
*
* This function assumes that 'key' exists and it stores a
* QDict object.
*
* Return QDict mapped by 'key'.
* qdict_get_qdict(): If @qdict maps @key to a QDict, return it, else NULL.
*/
QDict *qdict_get_qdict(const QDict *qdict, const char *key)
{