#include <stdio.h>
#include <stdarg.h>
#include <stddef.h>
#include <errno.h>
Functions |
static int | rte_snprintf (char *buffer, int buflen, const char *format,...) |
static int | rte_strsplit (char *string, int stringlen, char **tokens, int maxtokens, char delim) |
Detailed Description
String-related functions as replacement for libc equivalents
Function Documentation
static int rte_snprintf |
( |
char * |
buffer, |
|
|
int |
buflen, |
|
|
const char * |
format, |
|
|
|
... |
|
) |
| |
|
inlinestatic |
Safer version of snprintf that writes up to buflen characters to the output buffer and ensures that the resultant string is null-terminated, that is, it writes at most buflen-1 actual string characters to buffer. The return value is the number of characters which should be written to the buffer, so string truncation can be detected by the caller by checking if the return value is greater than or equal to the buflen.
- Parameters
-
buffer | The buffer into which the output is to be written |
buflen | The size of the output buffer |
format | The format string to be printed to the buffer |
- Returns
- The number of characters written to the buffer, or if the string has been truncated, the number of characters which would have been written had the buffer been sufficiently big.
static int rte_strsplit |
( |
char * |
string, |
|
|
int |
stringlen, |
|
|
char ** |
tokens, |
|
|
int |
maxtokens, |
|
|
char |
delim |
|
) |
| |
|
inlinestatic |
Takes string "string" parameter and splits it at character "delim" up to maxtokens-1 times - to give "maxtokens" resulting tokens. Like strtok or strsep functions, this modifies its input string, by replacing instances of "delim" with '\0'. All resultant tokens are returned in the "tokens" array which must have enough entries to hold "maxtokens".
- Parameters
-
string | The input string to be split into tokens |
stringlen | The max length of the input buffer |
tokens | The array to hold the pointers to the tokens in the string |
maxtokens | The number of elements in the tokens array. At most, maxtokens-1 splits of the string will be done. |
delim | The character on which the split of the data will be done |
- Returns
- The number of tokens in the tokens array.