OSDN Git Service

2007-04-06 Pascal Obry <obry@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Apr 2007 09:21:59 +0000 (09:21 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Apr 2007 09:21:59 +0000 (09:21 +0000)
* g-arrspl.adb (Free) [Element_Access]: New routine to free the source
string.
(Create): Free the source string before storing the new one.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123571 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/g-arrspl.adb

index 571388a..bcbc8c4 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2002-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 2002-2006, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -41,6 +41,9 @@ package body GNAT.Array_Split is
    procedure Free is
       new Ada.Unchecked_Deallocation (Separators_Indexes, Indexes_Access);
 
+   procedure Free is
+      new Ada.Unchecked_Deallocation (Element_Sequence, Element_Access);
+
    function Count
      (Source  : Element_Sequence;
       Pattern : Element_Set) return Natural;
@@ -81,6 +84,7 @@ package body GNAT.Array_Split is
       Mode       : Separator_Mode := Single)
    is
    begin
+      Free (S.Source);
       S.Source := new Element_Sequence'(From);
       Set (S, Separators, Mode);
    end Create;