comp.lang.ada
 help / color / mirror / Atom feed
From: stefan-lucks@see-the.signature
Subject: Re: Weird string I/O problem
Date: Wed, 3 Dec 2008 12:35:34 +0100
Date: 2008-12-03T12:35:34+01:00	[thread overview]
Message-ID: <Pine.LNX.4.64.0812031226320.14772@medsec1.medien.uni-weimar.de> (raw)
In-Reply-To: <_7sZk.171628$Mh5.91283@bgtnsc04-news.ops.worldnet.att.net>

On Wed, 3 Dec 2008, anon wrote:
> -- Build your own input routine.  Example:
[...]

if the variable Last is not initialised to 0 
   *before* you enter the loop ...

>   begin
>     Put ( P ) ;
>     input_string := ( others => nul ) ;
>     for index in input_string'Range loop   -- limits data size
>       Get ( char ) ;
>                                   -- Traps both LF or CR/LF type of EOL
>       exit when char = CR or char = LF ; 

... and if the user immediately presses the return key 
    (i.e., if you read an empty line), ...

>       input_string ( index ) := char ;
>       Last := Index ;  
>     end loop ;
>     if char = CR then  -- for CR/LF pairing type of OSs
>       Get ( char ) ;
>     end if ;
>     if char = LF or Last = input_string'Last then -- process EOL on screen
>       New_Line ;
>     end if ;
>     -- valid data is input_string ( 1 .. last ) ; 
>     -- with no term control characters like LF or CR

... then Input_String ( 1.. Last ) depends on 
    the uninitialised variable Last ...

>     return ( input_string ( 1 .. last ) ) ;

... and the statement above may raise an exception. 

>   end get ;

-- 
------ Stefan Lucks   --  Bauhaus-University Weimar  --   Germany  ------
               Stefan dot Lucks at uni minus weimar dot de
------  I  love  the  taste  of  Cryptanalysis  in  the  morning!  ------




  parent reply	other threads:[~2008-12-03 11:35 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-26  5:52 Weird string I/O problem Jerry
2008-11-26  7:24 ` christoph.grein
2008-11-26  7:38   ` christoph.grein
2008-11-26  8:25     ` Dmitry A. Kazakov
2008-11-26  9:07   ` Jean-Pierre Rosen
2008-11-26 15:21     ` John McCormick
2008-11-26 15:56     ` Adam Beneschan
2008-11-27 10:13       ` Jean-Pierre Rosen
2008-12-01 16:17         ` Adam Beneschan
2008-11-27  4:46 ` Jerry
2008-11-27 10:27   ` Jean-Pierre Rosen
2008-12-01 19:47 ` anon
2008-12-02  5:44   ` christoph.grein
2008-12-02  6:55     ` anon
2008-12-02  7:53       ` christoph.grein
2008-12-02 16:39         ` Adam Beneschan
2008-12-03  9:16           ` anon
2008-12-03 10:42             ` christoph.grein
2008-12-03 12:21               ` John B. Matthews
2008-12-04  0:15               ` anon
2008-12-04  7:31                 ` christoph.grein
2008-12-04  7:56                   ` Ludovic Brenta
2008-12-04  8:46                     ` Georg Bauhaus
2008-12-03 11:35             ` stefan-lucks [this message]
2008-12-04  0:27               ` anon
2008-12-04  8:58                 ` stefan-lucks
2008-12-04 22:54                   ` anon
2008-12-05  9:06                     ` Georg Bauhaus
replies disabled

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