g-arrspl.adb (Free): New routine to free the source string.
authorPascal Obry <obry@adacore.com>
Fri, 6 Apr 2007 09:21:59 +0000 (11:21 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 6 Apr 2007 09:21:59 +0000 (11:21 +0200)
2007-04-06  Pascal Obry  <obry@adacore.com>

* g-arrspl.adb (Free) [Element_Access]: New routine to free the source
string.
(Create): Free the source string before storing the new one.

From-SVN: r123571

gcc/ada/g-arrspl.adb

index 571388ac294209e63c83b944db03bfa9c5706970..bcbc8c4dbec20e88847a0d44a27390c2031958cb 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;