diff options
Diffstat (limited to 'libfmt')
-rw-r--r-- | libfmt/CMakeLists.txt | 2 | ||||
-rw-r--r-- | libfmt/include/libfmt/fmt.h | 2 | ||||
-rw-r--r-- | libfmt/libmisc.c | 10 | ||||
-rw-r--r-- | libfmt/libobj.c | 17 |
4 files changed, 11 insertions, 20 deletions
diff --git a/libfmt/CMakeLists.txt b/libfmt/CMakeLists.txt index f65d462..dc626f7 100644 --- a/libfmt/CMakeLists.txt +++ b/libfmt/CMakeLists.txt @@ -7,11 +7,9 @@ add_library(libfmt INTERFACE) target_include_directories(libfmt PUBLIC INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include) target_sources(libfmt INTERFACE libmisc.c - libobj.c quote.c ) target_link_libraries(libfmt INTERFACE pico_fmt libmisc - libobj ) diff --git a/libfmt/include/libfmt/fmt.h b/libfmt/include/libfmt/fmt.h index 1b5bde1..692abf2 100644 --- a/libfmt/include/libfmt/fmt.h +++ b/libfmt/include/libfmt/fmt.h @@ -10,7 +10,7 @@ #include <pico/fmt_printf.h> #include <pico/fmt_install.h> -#include <libobj/obj.h> +#include <libmisc/obj.h> /** * An object that implements fmt_formatter can be printed using 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); +} diff --git a/libfmt/libobj.c b/libfmt/libobj.c deleted file mode 100644 index e4b833b..0000000 --- a/libfmt/libobj.c +++ /dev/null @@ -1,17 +0,0 @@ -/* libfmt/libobj.c - Integrate pico-fmt with libobj - * - * Copyright (C) 2025 Luke T. Shumaker <lukeshu@lukeshu.com> - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -#include <libfmt/fmt.h> - -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); -} |