0 > here 5 44332211 filll ok 0 > here 8 dump fff503c0 44 33 22 11 44 00 00 00 00 00 00 00 00 00 00 00 D3".D...........
This output in incorrect. This is what Open Firmware outputs: ff94d75c: 44 33 22 11 44 33 22 11
That is debatable; you could say that Apple's implementation is buggy, instead. You can also say that the API is badly designed, this problem is wholly avoidable.
0 > here 8 44332211 filll ok 0 > here 8 dump fff503c0 44 33 22 11 44 33 22 11 00 00 00 00 00 00 00 00 D3".D3"........
This output is correct.
Segher is wrong.
No, I'm not. I *said* that Apple OF writes too many bytes.
I don't think that emulating this behaviour is useful. I don't think that Mark's do-the-tail-by-bytes is useful either. As I said, bad API; we should just consider any length not a multiple of four as resulting in undefined behaviour.
Segher