- case E_char:
- *( va_arg( status->arg, char * ) ) = (char)( value * sign );
- break;
- case E_char | E_unsigned:
- *( va_arg( status->arg, unsigned char * ) ) = (unsigned char)( value * sign );
- break;
+ switch ( status->flags & ( E_char | E_short | E_long | E_llong |
+ E_intmax | E_size | E_ptrdiff | E_pointer |
+ E_unsigned ) )
+ {
+ case E_char:
+ *( va_arg( status->arg, char * ) ) = (char)( value * sign );
+ break;
+ case E_char | E_unsigned:
+ *( va_arg( status->arg, unsigned char * ) ) = (unsigned char)( value * sign );
+ break;