mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-14 02:32:00 +01:00
+ 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 -
81 lines
1.8 KiB
PHP
81 lines
1.8 KiB
PHP
{
|
|
This file is part of the Free Pascal run time library.
|
|
Copyright (c) 2005 by Free Pascal development team
|
|
|
|
Low level file functions
|
|
GBA does not have any drive, so no file handling is needed.
|
|
Copyright (c) 2006 by Francesco Lombardi
|
|
|
|
See the file COPYING.FPC, included in this distribution,
|
|
for details about the copyright.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
**********************************************************************}
|
|
|
|
|
|
{****************************************************************************
|
|
Low level File Routines
|
|
All these functions can set InOutRes on errors
|
|
****************************************************************************}
|
|
|
|
{ close a file from the handle value }
|
|
procedure do_close(handle : longint);
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure do_erase(p : pchar; pchangeable: boolean);
|
|
begin
|
|
end;
|
|
|
|
procedure do_rename(p1,p2 : pchar; p1changeable, p2changeable: boolean);
|
|
begin
|
|
end;
|
|
|
|
function do_write(h: longint; addr: pointer; len: longint) : longint;
|
|
begin
|
|
result := -1;
|
|
end;
|
|
|
|
function do_read(h: longint; addr: pointer; len: longint) : longint;
|
|
begin
|
|
result := -1;
|
|
end;
|
|
|
|
function do_filepos(handle: longint) : longint;
|
|
begin
|
|
result := -1;
|
|
end;
|
|
|
|
procedure do_seek(handle, pos: longint);
|
|
begin
|
|
end;
|
|
|
|
function do_seekend(handle: longint):longint;
|
|
begin
|
|
result := -1;
|
|
end;
|
|
|
|
function do_filesize(handle : longint) : longint;
|
|
begin
|
|
result := -1;
|
|
end;
|
|
|
|
{ truncate at a given position }
|
|
procedure do_truncate(handle, pos: longint);
|
|
begin
|
|
end;
|
|
|
|
procedure do_open(var f;p:pchar;flags:longint; pchangeable: boolean);
|
|
begin
|
|
end;
|
|
|
|
function do_isdevice(handle: longint): boolean;
|
|
begin
|
|
result := false;
|
|
end;
|
|
|