Can someone confirm what range checking FreePascal does (if enabled)
when indexing a string.  I imagine shortstrings and ansistrings are
handled differently, but cannot find this in the documentation.

It looks like the following:

  String Type     Range Checked for s[i]
  -----------     ----------------------
  s: ShortString  0 <= i <= 255
  s: AnsiString   1 <= i <= Length(s)

I am surprised that for ShortString, the range is not
also 1 <= i <= Length(s).

IIRC Turbo Pascal only allowed you to access s[0] when range checking
was off, and similarly for s[i] with i > Length(s).

Thanks,

        Tom
-- 
E-MAIL: T.Verhoeff @ TUE.NL     | Dept. of Math. & Comp. Science
PHONE:  +31 40 247 41 25        | Technische Universiteit Eindhoven
FAX:    +31 40 247 54 04        | PO Box 513, NL-5600 MB Eindhoven
http://www.win.tue.nl/~wstomv/  | The Netherlands
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to