comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: strange length check error
Date: Thu, 18 Jan 2018 11:12:30 +0000
Date: 2018-01-18T11:12:30+00:00	[thread overview]
Message-ID: <lyr2qn2zfl.fsf@pushface.org> (raw)
In-Reply-To: p3ofne$gbu$1@dont-email.me

"Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org> writes:

> On 01/17/2018 02:41 PM, Simon Wright wrote:
>>
>>     return
>>       (LENGTH(LEFT) + 1,
>>        LEFT.DATA(1..LENGTH(LEFT))
>>          & RIGHT
>>          & LEFT.DATA((LENGTH(LEFT) + 1)..MAX_LENGTH));
>
> I think the last part should be Left.Data (Left.Length + 1
> .. Max_Length - 1) or (Left.Length + 2 .. Max_Length). I guess it
> doesn't matter what you put in those unused positions; you could also
> have (Left.Length + 2 .. Max_Length => <>).

Should have been (Left.Length + 2 .. Max_Length). That'll teach me not
to post code without testing it ..

> I'd probably have written
>
>    Result : Bounded_String;
> begin -- "&"
>    Result.Length := Left.Length + 1;
>    Result.Data (1 .. Result.Length) := Left (1 .. Left.Length) & Right;
>
>    return Result;

There was a check in the original that the input wasn't already at its
max length. That aside, agreed.

  reply	other threads:[~2018-01-18 11:12 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 [this message]
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
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