do { \
printf("#1 %p %p bytes copied %jd tran req s %d h %d t %d\n", \
&(head).
b[(head).h], (
buf), \
(intmax_t)(
sizeof(*(head).
b) * \
MIN( (size), (head).s - (head).h) ), \
(size), (head).h, (head).t); \
MIDIQ_MOVE(&(head).
b[(head).h], (
buf),
sizeof(*(head).
b) * MIN((size), (head).s - (head).h)); \
if( (head).s - (head).h < (size) ) { \
printf(
"#2 %p %p bytes copied %jd\n", (head).
b, (
buf) + (head).s - (head).h, (intmax_t)
sizeof(*(head).
b) * ((size) - (head).s + (head).h) ); \
MIDIQ_MOVE((head).
b, (
buf) + (head).s - (head).h,
sizeof(*(head).
b) * ((size) - (head).s + (head).h) ); \
} \
(head).h+=(size); \
(head).h%=(head).s; \
printf("#E h %d t %d\n", (head).h, (head).t); \
} while (0)