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: 109fba,df854b5838c3e14 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,df854b5838c3e14 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,df854b5838c3e14 X-Google-Attributes: gid1014db,public X-Google-Thread: 10db24,fec75f150a0d78f5 X-Google-Attributes: gid10db24,public From: bobduff@world.std.com (Robert A Duff) Subject: Re: ANSI C and POSIX (was Re: C/C++ knocks the crap out of Ada) Date: 1996/04/11 Message-ID: #1/1 X-Deja-AN: 146973967 references: <4kets3$ic0@news-s01.ny.us.ibm.net> <829194658snz@tsys.demon.co.uk> organization: The World Public Access UNIX, Brookline, MA newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.edu Date: 1996-04-11T00:00:00+00:00 List-Id: In article <829194658snz@tsys.demon.co.uk>, Tom Wheeley wrote: >What Robert is complaining about is that he is reading a 68 byte file by >requesting 1000 bytes; and that in his opinion, read should stop reading >at the end of the file, and return control. No, I think Robert is complaining (quite correctly) that the documentation is unclear on this point. You shouldn't have to rely on common sense to know what 'read' does in various error cases, or to know which cases are in fact considered errors. The problem is that everybody's common sense doesn't match everybody else's, at least not in all cases. >Myself, I would see this auto-stop idea as a _feature_ of read(). features >can only be relied upon portably if they are positively documented in POSIX. >This feature is not therefore portable, as POSIX is muddy on the matter. > >I suppose in c.l.c speak, it would be called `implementation-defined'. If POSIX wants to make it implementation defined, or undefined, or whatever, then it should say so explicitly. Making something undefined by forgetting to define it is bad style. - Bob