コード例 #1
0
ファイル: plist.c プロジェクト: daiwx/libplist
void plist_dict_insert_item(plist_t node, const char* key, plist_t item)
{
    if (node && PLIST_DICT == plist_get_node_type(node))
    {
        node_attach(node, plist_new_key(key));
        node_attach(node, item);
    }
    return;
}
コード例 #2
0
PLIST_API void plist_dict_set_item(plist_t node, const char* key, plist_t item)
{
    if (node && PLIST_DICT == plist_get_node_type(node)) {
        node_t* old_item = plist_dict_get_item(node, key);
        if (old_item) {
            int idx = plist_free_node(old_item);
            if (idx < 0) {
                node_attach(node, item);
            } else {
                node_insert(node, idx, item);
            }
        } else {
            node_attach(node, plist_new_key(key));
            node_attach(node, item);
        }
    }
    return;
}