|
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 |
1.8.8