浏览代码

Short term fix for conflicting types for 'tfp_printf' (#8157)

Joel Challis 5 年之前
父节点
当前提交
e7fb873ee2
共有 2 个文件被更改,包括 12 次插入8 次删除
  1. 9 5
      tmk_core/common/chibios/printf.c
  2. 3 3
      tmk_core/common/chibios/printf.h

+ 9 - 5
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;
 }

+ 3 - 3
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