Miscellaneous
Kore provides several helper functions.
Index
kore_log
Synopsis
void kore_log(int prio, const char *fmt, ...)
Description
Output a log message via syslog.
Note that when running in the foreground these go to stdout.
| Parameter | Description | 
|---|---|
| prio | The priority of the log message (see syslog(3)). | 
| fmt | The format string. | 
| ... | List of arguments. | 
Returns
Nothing
kore_strlcpy
Synopsis
size_t kore_strlcpy(char *dst, const char *src, const size_t length)
Description
Bounded C string copying. The result is always NUL-terminated.
| Parameter | Description | 
|---|---|
| dst | The destination buffer. | 
| src | The source C string. | 
| length | The maximum number of bytes that the destination buffer holds. | 
Returns
The length of the original string. If this length is equal or larger than the destination buffer then truncation of the string has occurred.
kore_strtonum
Synopsis
long long kore_strtonum(const char *str, int base, long long min, long long max, int *err)
Description
Safely convert a C string holding a number into an integer.
| Parameter | Description | 
|---|---|
| str | The C string to convert. | 
| base | The base on which to operate. | 
| min | The minimum value the converted integer is allowed to have. | 
| max | The maximum value the converted integer is allowed to have. | 
| err | A pointer to an integer that holds the error value. | 
Returns
Returns the converted integer. If the err parameter was set to KORE_RESULT_OK the conversion went OK otherwise there was an error and the returned value is considered garbage.
kore_strtonum64
Synopsis
u_int64_t kore_strtonum64(const char *str, int sign, int *err)
Description
Safely convert a C string holding a number to a 64-bit integer.
| Parameter | Description | 
|---|---|
| str | The C string to convert. | 
| sign | If the 64-bit integer is allowed to be signed or not. | 
| err | A pointer to an integer that holds the error value. | 
Returns
Returns the converted integer. If the err parameter was set to KORE_RESULT_OK the conversion went OK otherwise there was an error and the returned value is considered garbage.
kore_split_string
Synopsis
int kore_split_string(char *input, char *delim, char **out, size_t ele)
Description
Safely split a string into several elements. The out array is NULL terminated.
| Parameter | Description | 
|---|---|
| input | The string to be split up. | 
| delim | The delimiter used for splitting. | 
| out | Pointer to an array where the components are stored. | 
| ele | The number of elements that can be held in out. | 
Returns
The number of components.
kore_strip_chars
Synopsis
void kore_strip_chars(char *in, const char strip, char **out)
Description
Safely strip all occurrences of a certain character from a C string. The result must be freed by the caller.
| Parameter | Description | 
|---|---|
| in | The input C string. | 
| strip | The character to be stripped out of the string. | 
| out | A pointer to where the new result is stored. | 
Returns
Nothing