Functions | |
int | kdbiStrCaseCmp (const char *s1, const char *s2) |
int | kdbiRealloc (void **buffer, size_t size) |
void | kdbiFree (void *ptr) |
char * | kdbiStrDup (const char *s) |
size_t | kdbiStrLen (const char *s) |
To use them:
#include <kdbbackend.h>
There are some areas where libraries have to reimplement some basic functions to archive support for non-standard systems, for testing purposes or to provide a little more convenience.
void kdbiFree | ( | void * | ptr | ) |
Free memory of elektra or its backends.
ptr | the pointer to free |
int kdbiRealloc | ( | void ** | buffer, | |
size_t | size | |||
) |
Reallocate Storage in a save way.
if (kdbiRealloc ((void **) & buffer, new_length) < 0) { // here comes the failure handler // you can still use the old buffer #if DEBUG fprintf (stderr, "Reallocation error\n"); #endif free (buffer); buffer = 0; // return with error } *
buffer | is a pointer to a malloc | |
size | is the new size for the memory |
0 on success
int kdbiStrCaseCmp | ( | const char * | s1, | |
const char * | s2 | |||
) |
Compare Strings ignoring case.
s1 | The first string to be compared | |
s2 | The second string to be compared |
0 if s1 matches s2
a positive number if s1 is greater than s2
char* kdbiStrDup | ( | const char * | s | ) |
Copy string into new allocated memory.
You need to free the memory yourself.
s | the null-terminated string to duplicate |
size_t kdbiStrLen | ( | const char * | s | ) |
Calculates the length in bytes of a string.
This function differs from strlen() because it is Unicode and multibyte chars safe. While strlen() counts characters and ignores the final NULL, kdbiStrLen() count bytes including the ending NULL.
s | the string to get the length from |