+ switch ( status->flags )
+ {
+ /* TODO */
+ }
+ if ( status->base != 0 )
+ {
+ /* Integer conversions */
+ switch ( status->flags & ( E_char | E_short | E_long | E_llong | E_unsigned ) )
+ {
+ case E_char:
+ padwrap( (intmax_t)(char)va_arg( ap, int ), status );
+ break;
+ case E_char | E_unsigned:
+ upadwrap( (uintmax_t)(unsigned char)va_arg( ap, int ), status );
+ break;
+ case E_short:
+ padwrap( (intmax_t)(short)va_arg( ap, int ), status );
+ break;
+ case E_short | E_unsigned:
+ upadwrap( (uintmax_t)(unsigned short)va_arg( ap, int ), status );
+ break;
+ case 0:
+ padwrap( (intmax_t)va_arg( ap, int ), status );
+ break;
+ case E_unsigned:
+ upadwrap( (uintmax_t)va_arg( ap, unsigned int ), status );
+ break;
+ case E_long:
+ padwrap( (intmax_t)va_arg( ap, long ), status );
+ break;
+ case E_long | E_unsigned:
+ upadwrap( (uintmax_t)va_arg( ap, unsigned long ), status );
+ break;
+ case E_llong:
+ padwrap( (intmax_t)va_arg( ap, long long ), status );
+ break;
+ case E_llong | E_unsigned:
+ upadwrap( (uintmax_t)va_arg( ap, unsigned long long ), status );
+ break;
+ }
+ }
+}
+
+void parse_out_wrapper( const char * spec, struct status_t * status, ... );
+
+void parse_out_wrapper( const char * spec, struct status_t * status, ... )
+{
+ va_list ap;
+ va_start( ap, status );
+ parse_out( spec, status, ap );
+ va_end( ap );