diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2023-06-12 16:44:28 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2023-06-12 17:02:58 -0700 |
commit | ffb0ed186bd33d916633e9501250522b94423766 (patch) | |
tree | af4ba95c7789d8a65a1a468d657dcb125d5b3733 /src/til_settings.h | |
parent | 8fb3b27efa707f53bf0b0d74aec0e055f0d10e96 (diff) |
til_settings: pivot settings path printing to til_str
This eliminates more open_memstream() usage in favor of the new
til_str stuff.
While here I've split up the path construction API exposing the
til_str oriented variants, rather than only providing a
FILE*-oriented API. This way you just use the FILE* stuff when
convenient (like printing to stdout/stderr) and go til_str_t when
you're building up a buffer.
Such is life in a sans-open_memstream-world.
Also while here the FILE*-oriented settings path printers were
renamed s/print/fprint/g hence touching setup.c
Diffstat (limited to 'src/til_settings.h')
-rw-r--r-- | src/til_settings.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/til_settings.h b/src/til_settings.h index 6ff791c..43bbee1 100644 --- a/src/til_settings.h +++ b/src/til_settings.h @@ -6,6 +6,7 @@ typedef struct til_setting_t til_setting_t; typedef struct til_settings_t til_settings_t; typedef struct til_setup_t til_setup_t; +typedef struct til_str_t til_str_t; /* Individual setting specification */ typedef struct til_setting_spec_t { @@ -57,10 +58,12 @@ int til_settings_apply_desc_generators(const til_settings_t *settings, const til int til_setting_desc_new(const til_settings_t *settings, const til_setting_spec_t *spec, const til_setting_desc_t **res_desc); til_setting_desc_t * til_setting_desc_free(const til_setting_desc_t *desc); -int til_setting_desc_print_path(const til_setting_desc_t *desc, FILE *out); +int til_setting_desc_fprint_path(const til_setting_desc_t *desc, FILE *out); int til_setting_spec_check(const til_setting_spec_t *spec, const char *value); int til_settings_label_setting(const til_settings_t *settings, const til_setting_t *setting, char **res_label); -int til_settings_print_path(const til_settings_t *settings, FILE *out); +int til_settings_strprint_path(const til_settings_t *settings, til_str_t *str); +int til_settings_path_as_buf(const til_settings_t *settings, char **res_buf, size_t *res_bufsz); +int til_settings_fprint_path(const til_settings_t *settings, FILE *out); #ifndef TIL_SETTINGS_STR #define _TIL_SETTINGS_STR(s) #s |