コード例 #1
0
ファイル: keyring.c プロジェクト: 3null/linux
/*
 * Initialise a keyring.
 *
 * Returns 0 on success, -EINVAL if given any data.
 */
static int keyring_instantiate(struct key *keyring,
			       struct key_preparsed_payload *prep)
{
	assoc_array_init(&keyring->keys);
	/* make the keyring available by name if it has one */
	keyring_publish_name(keyring);
	return 0;
}
コード例 #2
0
ファイル: py-ext-backend.c プロジェクト: 20centaurifux/efind
static PyHandle *
_py_handle_new(PyObject *module)
{
	assert(module != NULL);
	assert(PyModule_Check(module));

	PyHandle *handle = utils_new(1, PyHandle);

	handle->module = module;
	assoc_array_init(&handle->signatures, str_compare, free, free);

	return handle;
}
コード例 #3
0
AssocArray *
assoc_array_new(CompareFunc compare_keys, FreeFunc free_key, FreeFunc free_value)
{
	AssocArray *array;

	if(!(array = (AssocArray *)malloc(sizeof(AssocArray))))
	{
		fprintf(stderr, "Couldn't allocate memory.\n");
		abort();
	}

	assoc_array_init(array, compare_keys, free_key, free_value);

	return array;
}
コード例 #4
0
ファイル: keyring.c プロジェクト: sagark/linux-pf-profile
/*
 * Initialise a keyring.
 *
 * Returns 0 on success, -EINVAL if given any data.
 */
static int keyring_instantiate(struct key *keyring,
			       struct key_preparsed_payload *prep)
{
	int ret;

	ret = -EINVAL;
	if (prep->datalen == 0) {
		assoc_array_init(&keyring->keys);
		/* make the keyring available by name if it has one */
		keyring_publish_name(keyring);
		ret = 0;
	}

	return ret;
}