buff.c 777 B

1234567891011121314151617181920212223242526272829303132333435
  1. /* $Id$ */
  2. /*
  3. * (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
  4. *
  5. * This product is part of the Amsterdam Compiler Kit.
  6. *
  7. * Permission to use, sell, duplicate or disclose this software must be
  8. * obtained in writing. Requests for such permissions may be sent to
  9. *
  10. * Dr. Andrew S. Tanenbaum
  11. * Wiskundig Seminarium
  12. * Vrije Universiteit
  13. * Postbox 7161
  14. * 1007 MC Amsterdam
  15. * The Netherlands
  16. *
  17. */
  18. /* Author: J.W. Stevenson */
  19. #include <pc_file.h>
  20. extern _flush();
  21. /* procedure buff(var f:file of ?); */
  22. buff(f) struct file *f; {
  23. int sz;
  24. if ((f->flags & (0377|WRBIT)) != (MAGIC|WRBIT))
  25. return;
  26. _flush(f);
  27. sz = f->size;
  28. f->count = f->buflen = (sz>PC_BUFLEN ? sz : PC_BUFLEN-PC_BUFLEN%sz);
  29. }