コード例 #1
0
ファイル: rpmkeyring.c プロジェクト: cms-externals/rpm
rpmKeyring rpmKeyringFree(rpmKeyring keyring)
{
    if (keyring == NULL) {
	return NULL;
    }

    if (keyring->nrefs > 1) {
	return rpmKeyringUnlink(keyring);
    }

    if (keyring->keys) {
	for (int i = 0; i < keyring->numkeys; i++) {
	    keyring->keys[i] = rpmPubkeyFree(keyring->keys[i]);
	}
	free(keyring->keys);
    }
    free(keyring);
    return NULL;
}
コード例 #2
0
ファイル: rpmkeyring.c プロジェクト: avokhmin/RPM5
rpmKeyring rpmKeyringFree(rpmKeyring keyring)
{
    if (keyring == NULL)
	return NULL;

    if (keyring->nrefs > 1)
	return rpmKeyringUnlink(keyring);

    if (keyring->keys) {
	int i;
/*@-unqualifiedtrans @*/
	for (i = 0; i < (int)keyring->numkeys; i++)
	    keyring->keys[i] = rpmPubkeyFree(keyring->keys[i]);
/*@=unqualifiedtrans @*/
	keyring->keys = _free(keyring->keys);
    }
    keyring = _free(keyring);
    return NULL;
}