Helpers for strings manipulation.
More...
|
| size_t | ec_strcmp_count (const char *s1, const char *s2) |
| int | ec_str_startswith (const char *s, const char *beginning) |
| bool | ec_str_is_space (const char *s) |
| int | ec_str_parse_llint (const char *str, unsigned int base, int64_t min, int64_t max, int64_t *val) |
| int | ec_str_parse_ullint (const char *str, unsigned int base, uint64_t min, uint64_t max, uint64_t *val) |
| char * | ec_str_quote (const char *str, char quote, bool force) |
| char * | ec_str_wrap (const char *str, size_t max_cols, size_t start_off) |
Helpers for strings manipulation.
◆ ec_strcmp_count()
| size_t ec_strcmp_count |
( |
const char * | s1, |
|
|
const char * | s2 ) |
Count the number of identical characters at the beginning of two strings.
◆ ec_str_startswith()
| int ec_str_startswith |
( |
const char * | s, |
|
|
const char * | beginning ) |
Return 1 if the string starts with the given prefix.
◆ ec_str_is_space()
| bool ec_str_is_space |
( |
const char * | s | ) |
|
Return true if the string contains only whitespace characters.
◆ ec_str_parse_llint()
| int ec_str_parse_llint |
( |
const char * | str, |
|
|
unsigned int | base, |
|
|
int64_t | min, |
|
|
int64_t | max, |
|
|
int64_t * | val ) |
Parse a string for a signed integer.
- Parameters
-
| str | The string to parse. |
| base | The base (0 means "guess"). |
| min | The minimum allowed value. |
| max | The maximum allowed value. |
| val | The pointer to the value to be set on success. |
- Returns
- On success, return 0. Otherwise, return -1 and set errno.
◆ ec_str_parse_ullint()
| int ec_str_parse_ullint |
( |
const char * | str, |
|
|
unsigned int | base, |
|
|
uint64_t | min, |
|
|
uint64_t | max, |
|
|
uint64_t * | val ) |
Parse a string for an unsigned integer.
- Parameters
-
| str | The string to parse. |
| base | The base (0 means "guess"). |
| min | The minimum allowed value. |
| max | The maximum allowed value. |
| val | The pointer to the value to be set on success. |
- Returns
- On success, return 0. Otherwise, return -1 and set errno.
◆ ec_str_quote()
| char * ec_str_quote |
( |
const char * | str, |
|
|
char | quote, |
|
|
bool | force ) |
Quote a string, escaping nested quotes.
- Parameters
-
| str | The string to quote. |
| quote | The quote character to use: usually " or ' but can be anything. If 0,
select between " or ' automatically. |
| force | If true, always add quotes, else add them only if the string contains spaces or quotes. |
- Returns
- An allocated string, that must be freed by the caller using free().
- Examples
- parse-yaml/parse-yaml.c.
◆ ec_str_wrap()
| char * ec_str_wrap |
( |
const char * | str, |
|
|
size_t | max_cols, |
|
|
size_t | start_off ) |
Wrap a text to a maximum number of columns.
- Parameters
-
| str | The input text. |
| max_cols | The maximum number of columns. |
| start_off | The number of already consumed columns on the first line, filled with padding in other lines. |
- Returns
- An allocated string containing the wrapped text. It must be freed by the user using free().