Elektra
0.8.25
|
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 | elektraArrayValidateName (const Key *key) |
validate array syntax More... | |
int | elektraArrayValidateBaseNameString (const char *baseName) |
validate array syntax More... | |
int | elektraArrayIncName (Key *key) |
Increment the name of the key by one. More... | |
int | elektraArrayDecName (Key *key) |
Decrement the name of an array key by one. More... | |
KeySet * | elektraArrayGet (const Key *arrayParent, KeySet *keys) |
Return all the array keys below the given array parent. More... | |
Key * | elektraArrayGetNextKey (KeySet *arrayKeys) |
Return the next key in the given array. More... | |
Array methods.
int elektraArrayDecName | ( | Key * | key | ) |
Decrement the name of an array key by one.
The alphabetical order will remain intact. For example, user/abc/\#_10
will be changed to user/abc/\#9
.
This | parameter determines the key name this function decrements. |
-1 | on error (e.g. new array index too small, non-valid array) |
0 | on success |
OCLint
KeySet* elektraArrayGet | ( | const Key * | arrayParent, |
KeySet * | keys | ||
) |
Return all the array keys below the given array parent.
The array parent 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. array too large, non-valid array) |
0 | on success |
OCLint
int elektraArrayValidateBaseNameString | ( | const char * | baseName | ) |
validate array syntax
baseName | the supposed array element basename |
-1 | if no array element/syntax error/no key |
0 | if start |
1 | if array element |
int elektraArrayValidateName | ( | const Key * | key | ) |
validate array syntax
key | an element of an array |
-1 | if no array element/syntax error/no key |
0 | if start |
1 | if array element |