#include "dictionary.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
Defines | |
| #define | MAXVALSZ 1024 |
| #define | DICTMINSZ 128 |
| #define | DICT_INVALID_KEY ((char*)-1) |
Functions | |
| unsigned | dictionary_hash (char *key) |
| Compute the hash key for a string. | |
| dictionary * | dictionary_new (int size) |
| Create a new dictionary object. | |
| void | dictionary_del (dictionary *d) |
| Delete a dictionary object. | |
| char * | dictionary_get (dictionary *d, char *key, char *def) |
| Get a value from a dictionary. | |
| char | dictionary_getchar (dictionary *d, char *key, char def) |
| Get a value from a dictionary, as a char. | |
| int | dictionary_getint (dictionary *d, char *key, int def) |
| Get a value from a dictionary, as an int. | |
| double | dictionary_getdouble (dictionary *d, char *key, double def) |
| Get a value from a dictionary, as a double. | |
| void | dictionary_set (dictionary *d, char *key, char *val) |
| Set a value in a dictionary. | |
| void | dictionary_unset (dictionary *d, char *key) |
| Delete a key in a dictionary. | |
| void | dictionary_setint (dictionary *d, char *key, int val) |
| Set a key in a dictionary, providing an int. | |
| void | dictionary_setdouble (dictionary *d, char *key, double val) |
| Set a key in a dictionary, providing a double. | |
| void | dictionary_dump (dictionary *d, FILE *out) |
| Dump a dictionary to an opened file pointer. | |
|
|
Invalid key token |
|
|
Minimal allocated number of entries in a dictionary |
|
|
Maximum value size for integers and doubles. |
|
|
Delete a dictionary object.
|
|
||||||||||||
|
Dump a dictionary to an opened file pointer.
[Key]=[Value], one per line. It is Ok to provide stdout or stderr as output file pointers. |
|
||||||||||||||||
|
Get a value from a dictionary.
|
|
||||||||||||||||
|
Get a value from a dictionary, as a char.
|
|
||||||||||||||||
|
Get a value from a dictionary, as a double.
|
|
||||||||||||||||
|
Get a value from a dictionary, as an int.
|
|
|
Compute the hash key for a string.
|
|
|
Create a new dictionary object.
|
|
||||||||||||||||
|
Set a value in a dictionary.
It is Ok to provide a NULL value for val, but NULL values for the dictionary or the key are considered as errors: the function will return immediately in such a case. Notice that if you dictionary_set a variable to NULL, a call to dictionary_get will return a NULL value: the variable will be found, and its value (NULL) is returned. In other words, setting the variable content to NULL is equivalent to deleting the variable from the dictionary. It is not possible (in this implementation) to have a key in the dictionary without value. |
|
||||||||||||||||
|
Set a key in a dictionary, providing a double.
|
|
||||||||||||||||
|
Set a key in a dictionary, providing an int.
|
|
||||||||||||
|
Delete a key in a dictionary.
|
1.4.4