Exemplo n.º 1
0
static int convertToKey(augeas *handle, const char *treePath, void *data)
{
	struct KeyConversion *conversionData = (struct KeyConversion *) data;
	int result = 0;
	const char *value = 0;
	result = aug_get (handle, treePath, &value);

	if (result < 0) return result;

	Key *key = createKeyFromPath (conversionData->parentKey, treePath);

	/* fill key values */
	keySetString (key, value);
	conversionData->currentOrder++;
	keySetOrderMeta (key, conversionData->currentOrder);
	result = ksAppendKey (conversionData->ks, key);

	return result;
}
Exemplo n.º 2
0
/**
 * Creates a new Elektra key from the specified Augeas key.
 * If any step during key conversion fails, an error is returned
 * in order to prevent inconsistent keys.
 */
static int convertToKey (augeas * handle, const char * treePath, void * data)
{
	struct KeyConversion * conversionData = (struct KeyConversion *)data;
	int result = 0;
	const char * value = 0;
	result = aug_get (handle, treePath, &value);

	/* we were unable to retrieve the augeas value */
	if (result < 0) return result;

	Key * key = createKeyFromPath (conversionData->parentKey, treePath);

	/* fill key values */
	keySetString (key, value);
	conversionData->currentOrder++;
	result = keySetOrderMeta (key, conversionData->currentOrder);

	/* setting the correct key order failed */
	if (result < 0) return result;

	result = ksAppendKey (conversionData->ks, key);

	return result;
}