comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Eachus <rieachus@comcast.net>
Subject: Re: strange length check error
Date: Tue, 23 Jan 2018 08:18:16 -0800 (PST)
Date: 2018-01-23T08:18:16-08:00	[thread overview]
Message-ID: <6624f2e4-1ba0-4a8c-bea0-70e45a2cfd2d@googlegroups.com> (raw)
In-Reply-To: <14a35359-150a-4aa6-b437-19c74381be4b@googlegroups.com>

On Tuesday, January 16, 2018 at 3:48:45 PM UTC-5, Mehdi Saada wrote:
> This : Put(Ch_Bounded1 & ' ' );
> Calls on that:
> function "&"
>      (Left  : in     Bounded_String;
>       Right : in     Character)
>       return Bounded_String
>    is
...
>  @@@     return (LENGTH(LEFT) + 1, LEFT.DATA(1..LENGTH(LEFT)) & RIGHT);
>       end if;
>    end "&";
> 
> The line with @@@ raises this:
> raised CONSTRAINT_ERROR : p_bounded_g-p_new_bounded_g.adb:34 length check failed
> The value of CH_BOUNDED1 at that moment is "pour tester le debut", its length is 21, and MAX_LENGTH est 80.

Arg!  Horrible code, I'm not surprised that others missed it.  This is a recursive call on "&" with a longer LENGTH each time.  Eventually LENGTH equals MAX_LENGTH and the error is raised.


  parent reply	other threads:[~2018-01-23 16:18 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-16 20:48 strange length check error Mehdi Saada
2018-01-17  1:42 ` Anh Vo
2018-01-17  9:23   ` Simon Wright
2018-01-17 12:13     ` Mehdi Saada
2018-01-17 13:19       ` AdaMagica
2018-01-17 13:41         ` Simon Wright
2018-01-17 21:37           ` Jeffrey R. Carter
2018-01-18 11:12             ` Simon Wright
2018-01-17 13:43         ` Mehdi Saada
2018-01-17 14:03           ` Mehdi Saada
2018-01-17 16:15             ` Mehdi Saada
2018-01-17 19:43               ` Simon Wright
2018-01-17 21:37                 ` Mehdi Saada
2018-01-17 23:00                   ` Niklas Holsti
2018-01-18 11:07                     ` Simon Wright
2018-01-17 13:15     ` Simon Clubley
2018-01-17  8:49 ` Dmitry A. Kazakov
2018-01-23 16:18 ` Robert Eachus [this message]
2018-01-23 16:41   ` Mehdi Saada
2018-01-24 16:22     ` Robert Eachus
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox