Piotr Caban (@piotr) commented about dlls/msvcrt/undname.c:
{ switch (format[++i]) {
case 'S': len++; /* fall through */ case 's': t = va_arg(args, char*); if (t) len += strlen(t); break; case 'c': (void)va_arg(args, int); len++; break; default: i--; /* fall through */
I still need to think about this helper some more. Here are some initial thoughts: how about removing handling anything except %[Ssc] from the function? The switch may look like as follows: ``` switch (format[++i]) { case 'S': len++; /* fall through */ case 's': t = va_arg(args, char*); if (t) len += strlen(t); break; case 'c': (void)va_arg(args, int); len++; break; default: ERR("invalid format: '%c'\n", format[0]); return NULL; } ``` It's an internal function and there's no point in supporting unused switches there.