~ruther/qmk_firmware

e7fb873ee281d93dbf96f369bd3a0a50e766eda3 — Joel Challis 5 years ago 629950e
Short term fix for conflicting types for 'tfp_printf' (#8157)

2 files changed, 12 insertions(+), 8 deletions(-)

M tmk_core/common/chibios/printf.c
M tmk_core/common/chibios/printf.h
M tmk_core/common/chibios/printf.c => tmk_core/common/chibios/printf.c +9 -5
@@ 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;
}

M tmk_core/common/chibios/printf.h => tmk_core/common/chibios/printf.h +3 -3
@@ 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