Browse Source

* tosunits: do not use functions which convert between shortstring and a char array via an AnsiString in TOS unit

Karoly Balogh 3 years ago
parent
commit
98f767efbf
1 changed files with 30 additions and 30 deletions
  1. 30 30
      packages/tosunits/src/tos.pas

+ 30 - 30
packages/tosunits/src/tos.pas

@@ -368,28 +368,28 @@ implementation
 function Dsp_LoadProg(const filename: String; ability: smallint; buffer: Pointer): smallint;
 function Dsp_LoadProg(const filename: String; ability: smallint; buffer: Pointer): smallint;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, filename);
+  s := filename;
   Dsp_LoadProg := xbios_Dsp_LoadProg(s, ability, buffer);
   Dsp_LoadProg := xbios_Dsp_LoadProg(s, ability, buffer);
 end;
 end;
 
 
 function Dsp_LodToBinary(const filename: String; codeptr: Pointer): LongInt;
 function Dsp_LodToBinary(const filename: String; codeptr: Pointer): LongInt;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, filename);
+  s := filename;
   Dsp_LodToBinary := xbios_Dsp_LodToBinary(s, codeptr);
   Dsp_LodToBinary := xbios_Dsp_LodToBinary(s, codeptr);
 end;
 end;
 
 
 procedure cconws(const str: String);
 procedure cconws(const str: String);
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, str);
+  s := str;
   gemdos_cconws(s);
   gemdos_cconws(s);
 end;
 end;
 
 
 function pexec(mode: word; const name: String; cmdline: String; env: pchar): longint;
 function pexec(mode: word; const name: String; cmdline: String; env: pchar): longint;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, name);
+  s := name;
   pexec := gemdos_pexec(mode, s, @cmdline[0], env);
   pexec := gemdos_pexec(mode, s, @cmdline[0], env);
 end;
 end;
 
 
@@ -398,12 +398,12 @@ var s: array[0..255] of char;
     dta: DTAPtr;
     dta: DTAPtr;
     temp: String[12];
     temp: String[12];
 begin
 begin
-  StrPCopy(s, filename);
+  s := filename;
   fsfirst := gemdos_fsfirst(s, attr);
   fsfirst := gemdos_fsfirst(s, attr);
   if (fsfirst = 0) then
   if (fsfirst = 0) then
     begin
     begin
       dta := Fgetdta;
       dta := Fgetdta;
-      temp := StrPas(@dta^.d_fname[0]);
+      temp := PChar(@dta^.d_fname[0]);
       dta^.d_fname := temp;
       dta^.d_fname := temp;
     end;
     end;
 end;
 end;
@@ -416,7 +416,7 @@ begin
   if (fsnext = 0) then
   if (fsnext = 0) then
     begin
     begin
       dta := Fgetdta;
       dta := Fgetdta;
-      temp := StrPas(@dta^.d_fname[0]);
+      temp := PChar(@dta^.d_fname[0]);
       dta^.d_fname := temp;
       dta^.d_fname := temp;
     end;
     end;
 end;
 end;
@@ -425,43 +425,43 @@ function frename(const oldname, newname: String): longint;
 var s1: array[0..255] of char;
 var s1: array[0..255] of char;
     s2: array[0..255] of char;
     s2: array[0..255] of char;
 begin
 begin
-  StrPCopy(s1, oldname);
-  StrPCopy(s2, newname);
+  s1 := oldname;
+  s2 := newname;
   frename := gemdos_frename(0, s1, s2);
   frename := gemdos_frename(0, s1, s2);
 end;
 end;
 
 
 function fopen(const fname: String; mode: smallint): longint;
 function fopen(const fname: String; mode: smallint): longint;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, fname);
+  s := fname;
   fopen := gemdos_fopen(s, mode);
   fopen := gemdos_fopen(s, mode);
 end;
 end;
 
 
 function fdelete(const fname: String): smallint;
 function fdelete(const fname: String): smallint;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, fname);
+  s := fname;
   fdelete := gemdos_fdelete(s);
   fdelete := gemdos_fdelete(s);
 end;
 end;
 
 
 function fcreate(const fname: String; attr: smallint): smallint;
 function fcreate(const fname: String; attr: smallint): smallint;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, fname);
+  s := fname;
   fcreate := gemdos_fcreate(s, attr);
   fcreate := gemdos_fcreate(s, attr);
 end;
 end;
 
 
 function fattrib(const filename: String; wflag: smallint; attrib: smallint): smallint;
 function fattrib(const filename: String; wflag: smallint; attrib: smallint): smallint;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, filename);
+  s := filename;
   fattrib := gemdos_fattrib(s, wflag, attrib);
   fattrib := gemdos_fattrib(s, wflag, attrib);
 end;
 end;
 
 
 function dsetpath(const path: String): smallint;
 function dsetpath(const path: String): smallint;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, path);
+  s := path;
   dsetpath := gemdos_dsetpath(s);
   dsetpath := gemdos_dsetpath(s);
 end;
 end;
 
 
@@ -470,34 +470,34 @@ var s: array[0..255] of char;
 begin
 begin
   Dgetpath := gemdos_dgetpath(s, driveno);
   Dgetpath := gemdos_dgetpath(s, driveno);
   if (Dgetpath = 0) then
   if (Dgetpath = 0) then
-    path := StrPas(s);
+    path := PChar(@s[0]);
 end;
 end;
 
 
 function ddelete(const path: String): longint;
 function ddelete(const path: String): longint;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, path);
+  s := path;
   Ddelete := gemdos_ddelete(s);
   Ddelete := gemdos_ddelete(s);
 end;
 end;
 
 
 function dcreate(const path: String): longint;
 function dcreate(const path: String): longint;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, path);
+  s := path;
   Dcreate := gemdos_dcreate(s);
   Dcreate := gemdos_dcreate(s);
 end;
 end;
 
 
 function Dpathconf(const name: String; n: smallint): LongInt;
 function Dpathconf(const name: String; n: smallint): LongInt;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, name);
+  s := name;
   Dpathconf := gemdos_dpathconf(s, n);
   Dpathconf := gemdos_dpathconf(s, n);
 end;
 end;
 
 
 function Dopendir(const name: String; flag: smallint): LongInt;
 function Dopendir(const name: String; flag: smallint): LongInt;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, name);
+  s := name;
   Dopendir := gemdos_dopendir(s, flag);
   Dopendir := gemdos_dopendir(s, flag);
 end;
 end;
 
 
@@ -506,13 +506,13 @@ var s: array[0..255] of char;
 begin
 begin
   Dreaddir := gemdos_dreaddir(buflen, dir, s);
   Dreaddir := gemdos_dreaddir(buflen, dir, s);
   if (dreaddir = 0) then
   if (dreaddir = 0) then
-    buf := StrPas(s);
+    buf := PChar(@s[0]);
 end;
 end;
 
 
 function Fxattr(flag: smallint; const name: String; var buf: TXATTR): LongInt;
 function Fxattr(flag: smallint; const name: String; var buf: TXATTR): LongInt;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, name);
+  s := name;
   Fxattr := gemdos_fxattr(flag, s, buf);
   Fxattr := gemdos_fxattr(flag, s, buf);
 end;
 end;
 
 
@@ -520,8 +520,8 @@ function Flink(const oldname: String; const newname: String): LongInt;
 var s1: array[0..255] of char;
 var s1: array[0..255] of char;
     s2: array[0..255] of char;
     s2: array[0..255] of char;
 begin
 begin
-  StrPCopy(s1, oldname);
-  StrPCopy(s2, newname);
+  s1 := oldname;
+  s2 := newname;
   flink := gemdos_flink(s1, s2);
   flink := gemdos_flink(s1, s2);
 end;
 end;
 
 
@@ -529,8 +529,8 @@ function Fsymlink(const oldname: String; const newname: String): LongInt;
 var s1: array[0..255] of char;
 var s1: array[0..255] of char;
     s2: array[0..255] of char;
     s2: array[0..255] of char;
 begin
 begin
-  StrPCopy(s1, oldname);
-  StrPCopy(s2, newname);
+  s1:=oldname;
+  s2:=newname;
   fsymlink := gemdos_fsymlink(s1, s2);
   fsymlink := gemdos_fsymlink(s1, s2);
 end;
 end;
 
 
@@ -538,32 +538,32 @@ function Freadlink(size: smallint; var buf: String; const name: String): LongInt
 var s1: array[0..255] of char;
 var s1: array[0..255] of char;
     s2: array[0..255] of char;
     s2: array[0..255] of char;
 begin
 begin
-  StrPCopy(s1, name);
+  s1 := name;
   if (size > 256) then
   if (size > 256) then
     size := 256;
     size := 256;
   freadlink := gemdos_freadlink(256, s2, s1);
   freadlink := gemdos_freadlink(256, s2, s1);
   if (freadlink = 0) then
   if (freadlink = 0) then
-     buf := StrPas(s2);
+     buf := PChar(@s2[0]);
 end;
 end;
 
 
 function Dcntl(cmd: smallint; const name: String; arg: LongInt): LongInt;
 function Dcntl(cmd: smallint; const name: String; arg: LongInt): LongInt;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, name);
+  s := name;
   Dcntl := gemdos_dcntl(cmd, s, arg);
   Dcntl := gemdos_dcntl(cmd, s, arg);
 end;
 end;
 
 
 function Fchown(const name: String; uid, gid: smallint): LongInt;
 function Fchown(const name: String; uid, gid: smallint): LongInt;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, name);
+  s := name;
   Fchown := gemdos_fchown(s, uid, gid);
   Fchown := gemdos_fchown(s, uid, gid);
 end;
 end;
 
 
 function Fchmod(const name: String; mode: smallint): LongInt;
 function Fchmod(const name: String; mode: smallint): LongInt;
 var s: array[0..255] of char;
 var s: array[0..255] of char;
 begin
 begin
-  StrPCopy(s, name);
+  s := name;
   Fchmod := gemdos_fchmod(s, mode);
   Fchmod := gemdos_fchmod(s, mode);
 end;
 end;