From e7fb873ee281d93dbf96f369bd3a0a50e766eda3 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 1 Mar 2020 18:46:40 +0000 Subject: [PATCH] Short term fix for conflicting types for 'tfp_printf' (#8157) --- tmk_core/common/chibios/printf.c | 14 +++++++++----- tmk_core/common/chibios/printf.h | 6 +++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/tmk_core/common/chibios/printf.c b/tmk_core/common/chibios/printf.c index 3a81acd312..17c1e63416 100644 --- a/tmk_core/common/chibios/printf.c +++ b/tmk_core/common/chibios/printf.c @@ -96,8 +96,8 @@ static int a2d(char ch) { return -1; } -static char a2i(char ch, char** src, int base, int* nump) { - char* p = *src; +static char a2i(char ch, const char** src, int base, int* nump) { + const char* p = *src; int num = 0; int digit; while ((digit = a2d(ch)) >= 0) { @@ -119,7 +119,7 @@ static void putchw(void* putp, putcf putf, int n, char z, char* bf) { while ((ch = *bf++)) putf(putp, ch); } -void tfp_format(void* putp, putcf putf, char* fmt, va_list va) { +void tfp_format(void* putp, putcf putf, const char* fmt, va_list va) { // This used to handle max of 12, but binary support jumps this to at least 32 char bf[36]; @@ -211,19 +211,23 @@ void init_printf(void* putp, void (*putf)(void*, char)) { stdout_putp = putp; } -void tfp_printf(char* fmt, ...) { +int tfp_printf(const char* fmt, ...) { va_list va; va_start(va, fmt); tfp_format(stdout_putp, stdout_putf, fmt, va); va_end(va); + + return 1; } static void putcp(void* p, char c) { *(*((char**)p))++ = c; } -void tfp_sprintf(char* s, char* fmt, ...) { +int tfp_sprintf(char* s, const char* fmt, ...) { va_list va; va_start(va, fmt); tfp_format(&s, putcp, fmt, va); putcp(&s, 0); va_end(va); + + return 1; } diff --git a/tmk_core/common/chibios/printf.h b/tmk_core/common/chibios/printf.h index 2cdf55ed90..775459e1e8 100644 --- a/tmk_core/common/chibios/printf.h +++ b/tmk_core/common/chibios/printf.h @@ -99,10 +99,10 @@ regs Kusti, 23.10.2004 void init_printf(void* putp, void (*putf)(void*, char)); -void tfp_printf(char* fmt, ...); -void tfp_sprintf(char* s, char* fmt, ...); +int tfp_printf(const char* fmt, ...); +int tfp_sprintf(char* s, const char* fmt, ...); -void tfp_format(void* putp, void (*putf)(void*, char), char* fmt, va_list va); +void tfp_format(void* putp, void (*putf)(void*, char), const char* fmt, va_list va); #define printf tfp_printf #define sprintf tfp_sprintf