Public keyword parsing in C source files

I have a bigger project with some C code in it. There are some structures with C++ keyword public (yes, I know, I did NOT write this code) e.g.
@
typedef struct foo
{
int public;
float b;
} foo_t;
@
I understand that parser have problems with that in header files, but everything is red also in .c files where this is completly legal code. Of course completion doesn't work at all. Does anybody know some workaroud for that?