From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,9c86eb13dd395066 X-Google-Attributes: gid103376,public From: Ken Garlington Subject: Re: Sequential IO on OpenVMS (was: CRC in Ada?) Date: 1997/03/24 Message-ID: <3336DC57.25DB@lmtas.lmco.com>#1/1 X-Deja-AN: 228010619 References: <1997Mar2.220652@nova.wright.edu> <331bf6ce.2832564@news.logica.co.uk> <332B5EBD.3D9E@worldnet.att.net> <332C9185.61C1@worldnet.att.net> <332F5CC8.6D7C@worldnet.att.net> <33320957.B@worldnet.att.net> Organization: Lockheed Martin Tactical Aircraft Systems Newsgroups: comp.lang.ada Date: 1997-03-24T00:00:00+00:00 List-Id: Robert Dewar wrote: > > i< Ada 83 I/O package that can possibly be used to read a binary file is Direct I/O > >> > > Nope, Direct_IO is also unsuitable for simulating stream_io in Ada 83 in a > portable manner. > > As for writing waivers, no one ever rqeuired a waiver for using pragma > Interface to interface to existing libraries, especially ANSI C libraries, > the idea is absurd. Actually, yes they do, if the library becomes delivered as part of the total system. (And to answer the obvious follow-up question, yes I have processed waivers for assembly routines contained within the Ada run-time!) The real question is: "So you have to write a waiver. So what?" > Yes, I know, some procurement people do absurd > things. > > Your "use" of sequential_io was still inappropriate, because you were > writing highly non-portable code, which might even have broken using > the next version of the sam e compiler, let alone a different compiler. By the way, on a related topic: On VAX/OpenVMS systems, the end-of-file marker is embedded within the file header. Even for sequential, fixed-length record files, the EOF can be placed in the middle of a record (effectively truncating it). I have recently come to discover that doing Sequential IO on such files has what I consider to be a strange outcome: the truncated record is read normally, and so "garbage" values past the end of the file are processed. On the next record read, END_ERROR is raised. Does the GNAT implementation for Alpha/OpenVMS mimic this philosophy, as opposed to (for example) raising DATA_ERROR on the truncated record? Because of this problem, we have had to switch to "C" I/O for these files... -- LMTAS - The Fighter Enterprise - "Our Brand Means Quality" For job listings, other info: http://www.lmtas.com or http://www.lmco.com