У меня ИАР ругается: argument of type "int __packed *" is
incompatible with parameter of type "int *" void mysscanf(const char*, const char *, int *);
int i;
__packed struct { char c; int i; } s;
char str[] = "123";
int foo()
{
mysscanf(str, "%d", &i); // Ok
mysscanf(str, "%d", &s.i); // error
return i + s.i;
}
На библиотечный sscanf, понятное дело, не ругается, поскольку он имеет прототип sscanf(const char*, const char *, ...), и ... отключает любую проверку типов.