comp.lang.ada
 help / color / mirror / Atom feed
From: Michael Moeller <mic2@t-online.de>
Subject: Re: xor
Date: Tue, 27 Mar 2012 22:16:38 +0100
Date: 2012-03-27T22:16:38+01:00	[thread overview]
Message-ID: <Pine.GSO.4.64.1203272204200.2980@kodiak1> (raw)
In-Reply-To: <ov31bbqp2adm.19zaflef0voiw$.dlg@40tude.net>



On Tue, 27 Mar 2012, Dmitry A. Kazakov wrote:

> On Tue, 27 Mar 2012 21:09:02 +0100, Michael Moeller wrote:
>
>> I have to read in what in C is called an unsigned byte,
>
> C does not have it. [unsigned] char maybe?
>
> In Ada there is a type Unsigned_8 declared in the package Interfaces.
>
>> which in fact is
>> a stream of bytes without any interpretation as a symbol.
>
> That depends on the operating system and the file type.
>
>> In addition it would be nice to call something like 'fstat' to get the
>> size of file in advance instead of checking every byte for EOF.
>
> In Ada you don't need that. You just read file until End_Error exception is
> propagated. This is more efficient (no look ahead) and more portable too.
>
> Here is an example of reading out a file in Ada using stream interface:
>
>   http://rosettacode.org/wiki/Bitmap/Read_a_PPM_file#Ada
>
> It uses Character type, which is close to the way one programs in C.
> Character'Pos (x), where x is of Character is a number 0..255.
>
> You can also use Interfaces.Unsigned_8 instead of Character, no difference.
>
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de
>
First, this Unsigned_Byte_T'Read thing worked. Thanks again.

Of course it's unsigned char in plain C. My fault.

I'm dealing with cipher stuff at the moment. I know for sure how
big the file is. Any other size will raise an error at runtime.
In addition there is no EOF, which brings me to the next question:

How can I prevent Ada from attaching '0x0a' to the end of the file?

Regards,
Michael






  reply	other threads:[~2012-03-27 20:18 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-25 14:28 xor Michael Moeller
2012-03-25 14:01 ` xor Niklas Holsti
2012-03-25 15:16   ` xor Michael Moeller
2012-03-25 19:05     ` xor Dmitry A. Kazakov
2012-03-27 20:31       ` xor Michael Moeller
2012-03-25 19:26     ` xor Niklas Holsti
2012-03-27 20:09       ` xor Michael Moeller
2012-03-27 19:44         ` xor Dmitry A. Kazakov
2012-03-27 21:16           ` Michael Moeller [this message]
2012-03-27 21:14             ` xor Simon Wright
2012-03-27 22:56               ` xor Michael Moeller
2012-03-27 22:03             ` xor Georg Bauhaus
2012-03-27 23:50               ` xor Michael Moeller
     [not found]                 ` <bbedne9wdofZyu_SnZ2dnUVZ_hydnZ2d@earthlink.com>
2012-03-28 12:18                   ` xor Michael Moeller
2012-03-28 12:48                     ` xor Georg Bauhaus
2012-03-28 15:23                       ` xor Michael Moeller
2012-03-28 15:58                         ` xor Niklas Holsti
2012-03-28 17:28                           ` xor Michael Moeller
2012-03-28 23:25                           ` xor Randy Brukardt
2012-03-29  5:17                             ` xor Niklas Holsti
2012-03-29 23:41                               ` xor Randy Brukardt
2012-03-30 21:53                                 ` xor Niklas Holsti
     [not found]                         ` <jtmdnfjWWsUYoO7SnZ2dnUVZ_gSdnZ2d@earthlink.com>
2012-03-28 17:44                           ` xor Michael Moeller
2012-03-28 14:07                     ` xor Dmitry A. Kazakov
2012-03-28 16:16                       ` xor Michael Moeller
2012-03-28 16:08                         ` xor Dmitry A. Kazakov
2012-03-28 17:36                           ` xor Michael Moeller
     [not found]                             ` <tdadna1MV6uj5O7SnZ2dnUVZ_jidnZ2d@earthlink.com>
2012-03-28 21:48                               ` xor Georg Bauhaus
2012-03-29  7:43                               ` xor Dmitry A. Kazakov
2012-03-29  7:49                               ` xor Simon Wright
2012-03-27 21:28           ` xor Georg Bauhaus
2012-03-27 19:50         ` xor Randy Brukardt
2012-03-27 21:44           ` xor Michael Moeller
2012-03-27 22:01             ` xor Georg Bauhaus
2012-03-27 20:13         ` xor Jeffrey Carter
replies disabled

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