Browse Source

* the 'len' argument of fpc_shortstr_assign changed to smallint on 16-bit cpus, because getintparaloc allocates 16-bit ints on i8086

git-svn-id: branches/i8086@24258 -
nickysn 12 years ago
parent
commit
7e18ac90e5
2 changed files with 2 additions and 2 deletions
  1. 1 1
      rtl/inc/compproc.inc
  2. 1 1
      rtl/inc/generic.inc

+ 1 - 1
rtl/inc/compproc.inc

@@ -40,7 +40,7 @@ procedure fpc_zeromem(p:pointer;len:ptruint);compilerproc;
 procedure fpc_fillmem(out data;len:ptruint;b : byte);compilerproc;
 
 procedure fpc_Shortstr_SetLength(var s:shortstring;len:SizeInt); compilerproc;
-procedure fpc_shortstr_assign(len:longint;sstr,dstr:pointer); compilerproc;
+procedure fpc_shortstr_assign(len:{$ifdef cpu16}smallint{$else}longint{$endif};sstr,dstr:pointer); compilerproc;
 procedure fpc_shortstr_to_shortstr(out res:shortstring; const sstr: shortstring); compilerproc;
 
 procedure fpc_shortstr_concat(var dests:shortstring;const s1,s2:shortstring);compilerproc;

+ 1 - 1
rtl/inc/generic.inc

@@ -892,7 +892,7 @@ begin
   res[0]:=chr(slen);
 end;
 
-procedure fpc_shortstr_assign(len:longint;sstr,dstr:pointer);[public,alias:'FPC_SHORTSTR_ASSIGN']; compilerproc;
+procedure fpc_shortstr_assign(len:{$ifdef cpu16}smallint{$else}longint{$endif};sstr,dstr:pointer);[public,alias:'FPC_SHORTSTR_ASSIGN']; compilerproc;
 var
   slen : byte;
 begin