- case 'd':
- save_number("%d", npop());
- break;
-
- case 'x':
- save_number("%x", npop());
- break;
-
- case '0':
- string++;
- len = *string;
- if (len == '2' || len == '3')
- {
- ++string;
- if (*string == 'd') {
- if (len == '2')
- save_number("%02d", npop());
- else
- save_number("%03d", npop());
- }
- else if (*string == 'x') {
- if (len == '2')
- save_number("%02x", npop());
- else
- save_number("%03x", npop());
- }
- }
- break;
-
- case '2':
- string++;
- if (*string == 'd') {
- save_number("%2d", npop());
- }
- else if (*string == 'x') {
- save_number("%2x", npop());
- }
- break;
-
- case '3':
- string++;
- if (*string == 'd') {
- save_number("%3d", npop());
- }
- else if (*string == 'x') {
- save_number("%3x", npop());
- }
+ case 'd': /* FALLTHRU */
+ case 'o': /* FALLTHRU */
+ case 'x': /* FALLTHRU */
+ case 'X': /* FALLTHRU */
+ case 'c':
+ save_number(format, npop(), len);