Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!munnari!moncskermit!basser!john
From: john@basser.oz (John Mackin)
Newsgroups: comp.sources.d
Subject: Re: Multivol dumps core?
Message-ID: <847@basser.oz>
Date: Tue, 16-Dec-86 20:23:04 EST
Article-I.D.: basser.847
Posted: Tue Dec 16 20:23:04 1986
Date-Received: Thu, 18-Dec-86 00:25:48 EST
References: <403@vixie.UUCP>
Reply-To: john@basser.oz (John Mackin)
Organization: Dept of Comp Sci, Uni of Sydney, Australia
Lines: 45
Summary: maybe it does, but not for the ``reason'' you gave

In article <403@vixie.UUCP> paul@vixie.UUCP (Paul Vixie Esq) writes:

> 	if (no_eoln = (*argv[1] == '-' && *++argv[1] == 'n')) {
> 
> Now, since C doesn't guarantee order of evaluation, this seems blatently
> wrong.  I don't know neccessarily that this is the cause of my problem,
> but if the rest of the code has errors like this, I don't want to bother
> trying to find the cause of the core dumps.

Oh dear.  Restraint, tolerance, good karma.  Remember those good
loops you flew over the dam this morning.  Deep breaths.  NOW...

Look here!  I am not going to say that multivol is well coded.
I can't comment on that, as I have never looked at its internals.
But I am MOST CERTAINLY going to say that your specific criticism
is totally incorrect, unjustified, and unwarranted, and in fact you
do not know what you are talking about.  A little knowledge, it would
seem, is a dangerous thing.

You state that ``C does not guarantee order of evaluation''.  This is
patently false.  If you look in the index of K&R, you will see "order
of evaluation" indexed in quite a few places.  The VERY FIRST PLACE IT IS
MENTIONED is on page 19, section 1.5, under "Word Counting", where it
states:

	Expressions connected by && or || are evaluated left
	to right ...

Sure sounds like a guarantee to me!

Certainly, order of evalution is undefined for many of C's operators;
you will see this if you look at some of the other places mentioned in the
index entry.  It IS defined for && and ||.

Please find out what you are talking about before you post to the net.
Thousands of people worldwide will read your articles.  If you post
misinformation, you will confuse some of them.  They may write code
which is wrong or form ideas which are wrong, due to your posted
misinformation.  Please, get it right.

John Mackin, Basser Department of Computer Science,
	     University of Sydney, Sydney, Australia

john@basser.oz.AU (john%basser.oz@SEISMO.CSS.GOV)
{seismo,hplabs,mcvax,ukc,nttlab}!munnari!basser.oz!john