Elektra
0.8.17
|
Array methods. More...
#include <kdb.h>
#include <kdbease.h>
#include <kdbhelper.h>
#include <kdbtypes.h>
#include <ctype.h>
#include <errno.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Functions | |
int | elektraArrayIncName (Key *key) |
Increment the name of the key by one. More... | |
KeySet * | elektraArrayGet (const Key *arrayParent, KeySet *keys) |
Return all the array keys below the given arrayparent The arrayparent itself is not returned. More... | |
Key * | elektraArrayGetNextKey (KeySet *arrayKeys) |
Return the next key in the given array. More... | |
Array methods.
KeySet* elektraArrayGet | ( | const Key * | arrayParent, |
KeySet * | keys | ||
) |
Return all the array keys below the given arrayparent The arrayparent itself is not returned.
For example, if user/config/# is an array, user/config is the array parent. Only the direct array keys will be returned. This means that for example user/config/#1/key will not be included, but only user/config/#1.
A new keyset will be allocated for the resulting keys. This means that the caller must ksDel the resulting keyset.
arrayParent | the parent of the array to be returned |
keys | the keyset containing the array keys. |
NULL | on NULL pointers |
Key* elektraArrayGetNextKey | ( | KeySet * | arrayKeys | ) |
Return the next key in the given array.
The function will automatically allocate memory for a new key and name it accordingly.
The caller has to keyDel the resulting key.
arrayKeys | the array where the new key will belong to |
NULL | if the passed array is empty |
NULL | on NULL pointers or if an error occurs |
int elektraArrayIncName | ( | Key * | key | ) |
Increment the name of the key by one.
Alphabetical order will remain
e.g. user/abc/#9 will be changed to user/abc/#_10
For the start: user/abc/# will be changed to user/abc/#0
key | which base name will be incremented |
-1 | on error (e.g. too large array, not validated array) |
0 | on success |