Logged In: YES user_id=994239 skipitem() is actually missing code for a number of other format units, in addition to "u" and "u#". See patch 985713 for more information.
Logged In: YES user_id=488897 As mdr0 mentioned, skipitem misses code for several formats. This patch solves one, patch 985713 solves another one. Could you make a patch that solves all missing formats in skipitem? You can look at the convertsimple function to find all formats.
Logged In: YES user_id=771074 After taking another look at this, all the arguments it processes are pointers. Since they're not actually changed by this function, they can all be treated as void *, eliminating the case stmt altogether and effectively future-proofing the function. With as little code as is left, and since it's only called from one place, inlining it might be feasible. This leaves out validation of the format char, but I'd say it's up to whoever constructs the argument format to make sure it works correctly when you pass in a matching arg.