Alan,

+  fp->__pushback_bufp = 0;
+  if (fp->__mode.__write)
+    fp->__put_limit = fp->__buffer;
+  fp->__bufp = fp->__get_limit;

Can you explain me something? I thought the following invariants should
always hold:
  fp->__get_limit >= fp->__bufp
  fp->__put_limit >= fp->__bufp
But after these assignments are executed, it is possible that
  fp->__put_limit == fp->__buffer < fp->__bufp == fp->__get_limit
No?

Bruno


Reply via email to