Fix Clang CFI type mismatch in src/arm/linux/cpuinfo.c (#403) Change parse_line signature to accept void* and cast inside. Remove the cast when passing it to cpuinfo_linux_parse_multiline_file. Fixes #402 Co-authored-by: Nikita Shulga <nikita.shulga@gmail.com> GitOrigin-RevId: 66ee79c038d70dad9f08705b2c9b3e58f6d8f512 Change-Id: Ic5683d2ccde8868a5418596b14c44f24efb98c41
diff --git a/src/arm/linux/cpuinfo.c b/src/arm/linux/cpuinfo.c index c627dc8..5e4d933 100644 --- a/src/arm/linux/cpuinfo.c +++ b/src/arm/linux/cpuinfo.c
@@ -729,11 +729,8 @@ * Revision : 0020 * Serial : 0000000000000000 */ -static bool parse_line( - const char* line_start, - const char* line_end, - struct proc_cpuinfo_parser_state state[restrict static 1], - uint64_t line_number) { +static bool parse_line(const char* line_start, const char* line_end, void* context, uint64_t line_number) { + struct proc_cpuinfo_parser_state* restrict state = context; /* Empty line. Skip. */ if (line_start == line_end) { return true; @@ -1024,6 +1021,5 @@ .max_processors_count = max_processors_count, .processors = processors, }; - return cpuinfo_linux_parse_multiline_file( - "/proc/cpuinfo", BUFFER_SIZE, (cpuinfo_line_callback)parse_line, &state); + return cpuinfo_linux_parse_multiline_file("/proc/cpuinfo", BUFFER_SIZE, parse_line, &state); }