Browse Source

+ FPC_FINALIZEARRAY
* Finalize to int_finalize renamed

florian 25 years ago
parent
commit
1117f793db
1 changed files with 19 additions and 4 deletions
  1. 19 4
      rtl/i386/rttip.inc

+ 19 - 4
rtl/i386/rttip.inc

@@ -131,7 +131,7 @@ asm
 end;
 end;
 
 
 
 
-Procedure Finalize (Data,TypeInfo: Pointer);[Public,Alias:'FPC_FINALIZE'];assembler;
+Procedure int_finalize (Data,TypeInfo: Pointer);[Public,Alias:'FPC_FINALIZE'];assembler;
 asm
 asm
         push    %eax
         push    %eax
         push    %ebx
         push    %ebx
@@ -202,7 +202,7 @@ asm
         addl     $4,%ebx
         addl     $4,%ebx
 // push data
 // push data
         pushl    %eax
         pushl    %eax
-        call    FINALIZE
+        call    INT_FINALIZE
         jmp     .LMyRecordFinalLoop
         jmp     .LMyRecordFinalLoop
 // Array handling
 // Array handling
 .LDoArrayFinal:
 .LDoArrayFinal:
@@ -230,7 +230,7 @@ asm
         addl    Data,%eax
         addl    Data,%eax
 // push data
 // push data
         pushl   %eax
         pushl   %eax
-        call    FINALIZE
+        call    INT_FINALIZE
         jmp     .LMyArrayFinalLoop
         jmp     .LMyArrayFinalLoop
 // AnsiString handling :
 // AnsiString handling :
 .LDoAnsiStringFinal:
 .LDoAnsiStringFinal:
@@ -470,9 +470,24 @@ asm
         pop     %eax
         pop     %eax
 end;
 end;
 
 
+procedure FinalizeArray(data,typeinfo : pointer;count,size : longint);
+  [Public,Alias:'FPC_FINALIZEARRAY'];
+
+  var
+     i : longint;
+
+  begin
+     for i:=0 to count-1 do
+       int_finalize(data+size*i,typeinfo);
+  end;
+
 {
 {
   $Log$
   $Log$
-  Revision 1.6  2000-11-06 21:52:21  florian
+  Revision 1.7  2000-11-09 17:49:34  florian
+    + FPC_FINALIZEARRAY
+    * Finalize to int_finalize renamed
+
+  Revision 1.6  2000/11/06 21:52:21  florian
     * another fix for interfaces
     * another fix for interfaces
 
 
   Revision 1.5  2000/11/06 21:35:59  peter
   Revision 1.5  2000/11/06 21:35:59  peter