Added coucal_get_pvoid() and coucal_get_intptr()

This commit is contained in:
Xavier Roche
2014-06-14 13:07:33 +00:00
parent bf40691b62
commit 028f23ca6f
2 changed files with 30 additions and 1 deletions

View File

@@ -709,6 +709,14 @@ int coucal_read_pvoid(coucal hashtable, coucal_key_const name, void **pvalue) {
return ret;
}
void* coucal_get_pvoid(coucal hashtable, coucal_key_const name) {
void *value;
if (!coucal_read_pvoid(hashtable, name, &value)) {
return NULL;
}
return value;
}
int coucal_write_pvoid(coucal hashtable, coucal_key_const name, void *pvalue) {
coucal_value value = INTHASH_VALUE_NULL;
@@ -1281,6 +1289,14 @@ int coucal_readptr(coucal hashtable, coucal_key_const name, intptr_t * value) {
return ret;
}
intptr_t coucal_get_intptr(coucal hashtable, coucal_key_const name) {
intptr_t value;
if (!coucal_read(hashtable, name, &value)) {
return 0;
}
return value;
}
coucal coucal_new(size_t initial_size) {
coucal hashtable = (coucal) calloc(1, sizeof(struct_coucal));

View File

@@ -326,7 +326,14 @@ COUCAL_EXTERN int coucal_read(coucal hashtable, coucal_key_const name,
* Same as coucal_read(), but return 0 is the value was zero.
**/
COUCAL_EXTERN int coucal_readptr(coucal hashtable, coucal_key_const name,
intptr_t * intvalue);
intptr_t * intvalue);
/**
* Read an integer entry from the hashtable.
* Return 0 if the entry could not be found.
**/
COUCAL_EXTERN intptr_t coucal_get_intptr(coucal hashtable,
coucal_key_const name);
/**
* Return non-zero value if the given entry exists.
@@ -354,6 +361,12 @@ COUCAL_EXTERN int coucal_write_value(coucal hashtable, coucal_key_const name,
COUCAL_EXTERN int coucal_read_pvoid(coucal hashtable, coucal_key_const name,
void **value);
/**
* Read a pointer entry from the hashtable and returns its value.
* Return NULL if the entry could not be found.
**/
COUCAL_EXTERN void* coucal_get_pvoid(coucal hashtable, coucal_key_const name);
/**
* Write a pointer entry to the hashtable.
* Return non-zero value if the entry was added, zero if it was replaced.