40#define SR_lower "abcdefghijklmnopqrstuvwxyz"
41#define SR_upper "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
42#define SR_alpha SR_lower SR_upper
43#define SR_space " \t\r\n\v\f"
44#define SR_digit "0123456789"
45#define SR_alnum SR_alpha SR_digit
47#define __sr_printf(x, y) __attribute__((format(printf, (x), (y))))
111sr_struniq(
char **strings,
size_t *size);
177 char **error_message);
180sr_string_to_file(const
char *filename,
182 char **error_message);
333sr_parse_uint64(const
char **input, uint64_t *result);
376sr_skip_whitespace(const
char *s);
379sr_skip_non_whitespace(const
char *s);
382sr_skip_to_next_line_location(const
char **s,
int *line,
int *column);
391sr_indent(const
char *input,
int spaces);
394sr_indent_except_first_line(const
char *input,
int spaces);
397sr_build_path(const
char *first_element, ...);
406 void (*callback)(
char*,
char*,
void*),
410anonymize_path(
char *file_name);
char * sr_strndup(const char *s, size_t n)
int sr_skip_uint(const char **input)
char char * sr_strdup(const char *s)
void * sr_mallocz(size_t size)
int sr_skip_char_span(const char **input, const char *chars)
bool sr_parse_string(const char **input, const char *string, char **result)
char * sr_vasprintf(const char *format, va_list p)
int sr_parse_uint32(const char **input, uint32_t *result)
int sr_skip_hexadecimal_uint(const char **input)
int sr_skip_char_cspan(const char **input, const char *reject)
void * sr_malloc_array(size_t elems, size_t elem_size)
void sr_parse_os_release(const char *input, void(*callback)(char *, char *, void *), void *data)
char * sr_strchr_location(const char *s, int c, int *line, int *column)
bool sr_skip_char_limited(const char **input, const char *allowed)
int sr_ptrstrcmp(const void *s1, const void *s2)
char * sr_file_to_string(const char *filename, char **error_message)
int sr_skip_char_sequence(const char **input, char c)
void * sr_realloc(void *ptr, size_t size)
int sr_parse_hexadecimal_uint64(const char **input, uint64_t *result)
int sr_skip_string(const char **input, const char *string)
int sr_skip_hexadecimal_0xuint(const char **input)
char * sr_demangle_symbol(const char *sym)
void * sr_realloc_array(void *ptr, size_t elems, size_t elem_size)
int sr_parse_hexadecimal_0xuint64(const char **input, uint64_t *result)
int sr_skip_char_span_location(const char **input, const char *chars, int *line, int *column)
char * sr_bin2hex(char *dst, const char *str, int count)
char * sr_asprintf(const char *format,...) __sr_printf(1
char sr_parse_digit(const char **input)
int sr_strcmp0(const char *s1, const char *s2)
bool sr_parse_char_cspan(const char **input, const char *reject, char **result)
int sr_parse_char_span(const char **input, const char *accept, char **result)
char * sr_strstr_location(const char *haystack, const char *needle, int *line, int *column)
size_t sr_strspn_location(const char *s, const char *accept, int *line, int *column)
void * sr_malloc(size_t size)
bool sr_skip_char(const char **input, char c)
bool sr_parse_char_limited(const char **input, const char *allowed, char *result)