diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-04-26 19:51:52 -0600 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-05-06 11:50:46 -0600 |
commit | 1cf085ae086a43f18af550fdcfd4d3e57ccb0918 (patch) | |
tree | 42abde5f3b34b239bb95e84200ea16ad4a4c562d /libfmt | |
parent | 0fec22d4106ff6f80296d1511eec7a82160c2245 (diff) | |
parent | a83c95e9f46ef695a55fc7a6911e11846da9903c (diff) |
Merge branch 'lukeshu/misc'
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); -} |