From 7f48500cfd42d25897c6ddf2afa651686fc0252f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Tue, 19 Aug 2025 16:04:00 +0800 Subject: [PATCH] Format: replaces format specifiers with type-safe append functions --- src/common/format.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/common/format.c b/src/common/format.c index d2ec98178..f6cbcab8b 100644 --- a/src/common/format.c +++ b/src/common/format.c @@ -11,37 +11,31 @@ void ffFormatAppendFormatArg(FFstrbuf* buffer, const FFformatarg* formatarg) switch(formatarg->type) { case FF_FORMAT_ARG_TYPE_INT: - ffStrbufAppendF(buffer, "%" PRIi32, *(int32_t*)formatarg->value); + ffStrbufAppendSInt(buffer, *(int32_t*)formatarg->value); break; case FF_FORMAT_ARG_TYPE_UINT: - ffStrbufAppendF(buffer, "%" PRIu32, *(uint32_t*)formatarg->value); + ffStrbufAppendUInt(buffer, *(uint32_t*)formatarg->value); break; case FF_FORMAT_ARG_TYPE_UINT64: - ffStrbufAppendF(buffer, "%" PRIu64, *(uint64_t*)formatarg->value); + ffStrbufAppendUInt(buffer, *(uint64_t*)formatarg->value); break; case FF_FORMAT_ARG_TYPE_UINT16: - ffStrbufAppendF(buffer, "%" PRIu16, *(uint16_t*)formatarg->value); + ffStrbufAppendUInt(buffer, *(uint16_t*)formatarg->value); break; case FF_FORMAT_ARG_TYPE_UINT8: - ffStrbufAppendF(buffer, "%" PRIu8, *(uint8_t*)formatarg->value); + ffStrbufAppendUInt(buffer, *(uint8_t*)formatarg->value); break; case FF_FORMAT_ARG_TYPE_STRING: ffStrbufAppendS(buffer, (const char*)formatarg->value); break; case FF_FORMAT_ARG_TYPE_STRBUF: - ffStrbufAppend(buffer, (FFstrbuf*)formatarg->value); + ffStrbufAppend(buffer, (const FFstrbuf*)formatarg->value); break; case FF_FORMAT_ARG_TYPE_FLOAT: - if (instance.config.display.fractionNdigits >= 0) - ffStrbufAppendF(buffer, "%.*f", instance.config.display.fractionNdigits, *(float*)formatarg->value); - else - ffStrbufAppendF(buffer, "%g", *(float*)formatarg->value); + ffStrbufAppendDouble(buffer, *(float*)formatarg->value, instance.config.display.fractionNdigits); break; case FF_FORMAT_ARG_TYPE_DOUBLE: - if (instance.config.display.fractionNdigits >= 0) - ffStrbufAppendF(buffer, "%.*f", instance.config.display.fractionNdigits, *(double*)formatarg->value); - else - ffStrbufAppendF(buffer, "%g", *(double*)formatarg->value); + ffStrbufAppendDouble(buffer, *(double*)formatarg->value, instance.config.display.fractionNdigits); break; case FF_FORMAT_ARG_TYPE_BOOL: ffStrbufAppendS(buffer, *(bool*)formatarg->value ? "true" : "false");