diff options
Diffstat (limited to 'libfmt/libmisc.c')
-rw-r--r-- | libfmt/libmisc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libfmt/libmisc.c b/libfmt/libmisc.c index 803b281..134b9f0 100644 --- a/libfmt/libmisc.c +++ b/libfmt/libmisc.c @@ -61,3 +61,13 @@ int __lm_light_printf(const char *format, ...) { va_end(va); return ret; } + +static void libfmt_conv_formatter(struct fmt_state *state) { + lo_interface fmt_formatter obj = va_arg(*state->args, lo_interface fmt_formatter); + LO_CALL(obj, format, state); +} + +[[gnu::constructor]] +static void libfmt_install_formatter(void) { + fmt_install('v', libfmt_conv_formatter); +} |