summaryrefslogtreecommitdiff
path: root/src/til_settings.h
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2023-06-12 16:44:28 -0700
committerVito Caputo <vcaputo@pengaru.com>2023-06-12 17:02:58 -0700
commitffb0ed186bd33d916633e9501250522b94423766 (patch)
treeaf4ba95c7789d8a65a1a468d657dcb125d5b3733 /src/til_settings.h
parent8fb3b27efa707f53bf0b0d74aec0e055f0d10e96 (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.h7
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
© All Rights Reserved