Make your own free website on
5.13.2 Where Implementations might Differ anyway
In the section above, some areas where the standard allows
implementations to differ are listed. In an ideal world, that
ought to be the only traps that you should need to look out for,
but unfortunately, the world is not ideal. There are several areas
where the requirements set up by the standard is quite high, and
where implementations are likely to differ from the standard.

These areas are:

·    Repositioning at (for the current write position) or beyond
  the end-of-file may be allowed. On some systems, to prohibit that
  would require a lot of checking, so some systems will probably
  skip that check. At least for some operating systems, the act of
  repositioning after end-of-file is a useful feature.

·    Under Unix, it can be used for creating a dynamically sized
  random access file; do not bother about how much space is
  allocated for the file, just position to the correct “sloth” and
  write the data there. If the data file is sparse, holes might
  occur in the file; that is parts of the file which has not been
  written, and which is all zeros (and which are therefore not
  stored on disk.

·    Some implementations will use the same position for both the
  current read position and the current write position to overcome
  these implementations.  Whenever you are doing a read, and the
  previous operation was a write (or vice versa), it is may prove
  useful to reposition the current read (or write) position.

·    There might be a maximum linesize for your REXX interpreter.
  At least the 50Kb limit on string length may apply.

·    Handling the situation where another program writes data to a
  file which is used by the REXX interpreter for reading.