41 #define SR_lower "abcdefghijklmnopqrstuvwxyz"
42 #define SR_upper "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
43 #define SR_alpha SR_lower SR_upper
44 #define SR_space " \t\r\n\v\f"
45 #define SR_digit "0123456789"
46 #define SR_alnum SR_alpha SR_digit
48 #define __sr_printf(x, y) __attribute__((format(printf, (x), (y))))
58 sr_struniq(
char **strings,
size_t *size);
117 char **error_message);
120 sr_string_to_file(
const char *filename,
122 char **error_message);
243 sr_parse_string(
const char **input,
const char *
string,
char **result);
273 sr_parse_uint64(
const char **input, uint64_t *result);
316 sr_skip_whitespace(
const char *s);
319 sr_skip_non_whitespace(
const char *s);
322 sr_skip_to_next_line_location(
const char **s,
int *line,
int *column);
328 sr_bin2hex(
char *dst,
const char *str,
int count);
331 sr_indent(
const char *input,
int spaces);
334 sr_indent_except_first_line(
const char *input,
int spaces);
337 sr_build_path(
const char *first_element, ...);
346 void (*callback)(
char*,
char*,
void*),
350 anonymize_path(
char *file_name);
int sr_parse_char_span(const char **input, const char *accept, char **result)
bool sr_parse_char_cspan(const char **input, const char *reject, char **result)
char * sr_strstr_location(const char *haystack, const char *needle, int *line, int *column)
int sr_skip_uint(const char **input)
size_t sr_strspn_location(const char *s, const char *accept, int *line, int *column)
char * sr_demangle_symbol(const char *sym)
char * sr_file_to_string(const char *filename, char **error_message)
int sr_skip_char_sequence(const char **input, char c)
int sr_parse_hexadecimal_0xuint64(const char **input, uint64_t *result)
char * sr_bin2hex(char *dst, const char *str, int count)
bool sr_skip_char(const char **input, char c)
char * sr_strchr_location(const char *s, int c, int *line, int *column)
int sr_ptrstrcmp(const void *s1, const void *s2)
bool sr_skip_char_limited(const char **input, const char *allowed)
void sr_parse_os_release(const char *input, void(*callback)(char *, char *, void *), void *data)
bool sr_parse_char_limited(const char **input, const char *allowed, char *result)
bool sr_parse_string(const char **input, const char *string, char **result)
int sr_skip_hexadecimal_uint(const char **input)
int sr_parse_hexadecimal_uint64(const char **input, uint64_t *result)
int sr_skip_char_span_location(const char **input, const char *chars, int *line, int *column)
int sr_skip_char_span(const char **input, const char *chars)
char sr_parse_digit(const char **input)
int sr_skip_string(const char **input, const char *string)
int sr_parse_uint32(const char **input, uint32_t *result)
int sr_skip_hexadecimal_0xuint(const char **input)
int sr_skip_char_cspan(const char **input, const char *reject)