Commit Graph

11 Commits

Author SHA1 Message Date
Jonas Maebe
df6a2dce00 + unicodestring support for assign/erase/rename
+ codepage support for textrec/filerec and the above routines
  * textrec/filerec now store the filename by default using widechar. It is
    possible to switch back to ansichars using the FPC_ANSI_TEXTFILEREC define.
    In that case, from now on the filename will always be stored in
    DefaultFileSystemEncoding
  * fixed potential buffer overflows and non-null-terminated file names in
    textrec/filerec
  + dodirseparators(pwidechar), changed the dodirseparators(pchar/pwidechar)
    parameters into var-parameters and gave those routines an extra parameter
    that indicates whether the p(wide)char can be changed in place if
    necessary or whether a copy must be made first (avoids us having to make
    all strings always unique everywhere, because they might be changed on
    some platforms via a pchar)
  * do_open/do_erase/do_rename got extra boolean parameters indicating whether
    the passed pchars point to data that can be freely changed (to pass on to
    dodirseparators() if applicable)
  * objects.pp: force assign(pchar) to be called, because
    assign(array[0..255]) cannot choose between pchar and rawbytestring
    versions (and removing the pchar version means that assign(pchar) will
    be mapped to assign(shortstring) in {$h-})
  * fixed up some routines in other units that depend on the format of
    the textrec/filerec.name field

git-svn-id: branches/cpstrrtl@25137 -
2013-07-19 16:30:51 +00:00
nickysn
bca3cd6160 + implemented all the remaining msdos file functions
git-svn-id: branches/i8086@24078 -
2013-03-30 15:46:41 +00:00
nickysn
a463c1f558 + implemented file routines do_open and do_close for msdos, based on the go32v2 code
git-svn-id: branches/i8086@24076 -
2013-03-30 15:27:36 +00:00
nickysn
aab6df13ba * use Seg() instead of DSeg in the msdos rtl
git-svn-id: branches/i8086@24072 -
2013-03-30 13:05:30 +00:00
nickysn
27559aa5f8 * use Ofs() instead of typecasting to word for getting the offset of a pointer
git-svn-id: branches/i8086@24068 -
2013-03-30 11:41:07 +00:00
nickysn
d8af51fdab + implemented do_read for i8086-msdos
git-svn-id: branches/i8086@24045 -
2013-03-28 22:22:47 +00:00
nickysn
1077093b08 + added error checking to the dos file operations
git-svn-id: branches/i8086@24044 -
2013-03-28 22:03:13 +00:00
nickysn
7b578f3e9c * reimplemented do_write and do_isdevice in Pascal, using the MsDos procedure
git-svn-id: branches/i8086@24042 -
2013-03-28 21:35:21 +00:00
nickysn
b2fc6a2f6d + basic implementation of do_isdevice for msdos
git-svn-id: branches/i8086@24014 -
2013-03-26 18:58:00 +00:00
nickysn
e3ce68612c + very simple implementation of do_write for i8086-msdos. 'Hello World' now works!!!
git-svn-id: branches/i8086@23992 -
2013-03-24 23:30:31 +00:00
nickysn
bca7bf78dc + added sysheap.inc and sysfile.inc to the msdos target, empty for now
git-svn-id: branches/i8086@23857 -
2013-03-16 12:03:24 +00:00