Loading...
Searching...
No Matches
String manipulation

Helpers for strings manipulation. More...

## Functions

size_t | ec_strcmp_count (const char *s1, const char *s2)
| Count the number of identical characters at the beginning of two strings.
int | ec_str_startswith (const char *s, const char *beginning)
| Return 1 if the string starts with the given prefix.
bool | ec_str_is_space (const char *s)
| Return true if the string contains only whitespace characters.
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.
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.
char * | ec_str_quote (const char *str, char quote, bool force)
| Quote a string, escaping nested quotes.
char * | ec_str_wrap (const char *str, size_t max_cols, size_t start_off)
| Wrap a text to a maximum number of columns.

## Detailed Description

Helpers for strings manipulation.

## Function Documentation

## 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().