| 9512 | } |
| 9513 | |
| 9514 | static uae_u32 get_value(struct dsprintfstack **stackp, uae_u32 *sizep, uaecptr *ptrp, uae_u32 size) |
| 9515 | { |
| 9516 | if (debugsprintf_mode) { |
| 9517 | uae_u32 v; |
| 9518 | uaecptr ptr = *ptrp; |
| 9519 | if (size == sz_long) { |
| 9520 | v = get_long_debug(ptr); |
| 9521 | ptr += 4; |
| 9522 | } else if (size == sz_word) { |
| 9523 | v = get_word_debug(ptr); |
| 9524 | ptr += 2; |
| 9525 | } else { |
| 9526 | v = get_byte_debug(ptr); |
| 9527 | ptr++; |
| 9528 | } |
| 9529 | *ptrp = ptr; |
| 9530 | *sizep = size; |
| 9531 | return v; |
| 9532 | } else { |
| 9533 | struct dsprintfstack *stack = *stackp; |
| 9534 | uae_u32 v = stack->val; |
| 9535 | if (stack->size == 0) |
| 9536 | v &= 0xff; |
| 9537 | else if (stack->size == 1) |
| 9538 | v &= 0xffff; |
| 9539 | if (size == 1) |
| 9540 | v &= 0xffff; |
| 9541 | *sizep = size; |
| 9542 | stack++; |
| 9543 | *stackp = stack; |
| 9544 | return v; |
| 9545 | } |
| 9546 | } |
| 9547 | |
| 9548 | static void debug_sprintf_do(uae_u32 s) |
| 9549 | { |
no test coverage detected