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.
next prev parent 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