[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

pl11 is ready (Re: XTL 1.3.pl.9 + Re: patch)



The patch is attached as my web server is down. Sorry for the
mail bombing...

Angus Leeming wrote:
> Note 2: giop.h
> =====
> call me picky, but to call a boolian variable machineEndianess makes no sense.
> How can it be true? MachineLittleendian can be true. Get my drift?

Yes. But as a result we get the expression 

 if (machineLittleEndian == bufferLittleEndian)
	don't swap
 else
        swap

in _xtl_n2hX(...) which I think is even worst. In fact, we don't
care if they are little or big endian, we only care if they are
the same. As such:

 if (machineEndianess == bufferEndianess)
	don't swap
 else
	swap

seems better. Anyway, I changed it so bools are gone. Unsigned
chars and integer constants are now used.

> Note 3: xdr.h
> =====
> Its good to see I finally got xdr.h done satisfactorily / standard conformingly!
> 
> Did you notice my comment to input_simple(long)?
> I think it would be better to have
>         def_input_simple_ll(long, longlong)
> This will work correctly on all machines.

XDR very much favors 32 bits. I think in XDR we should probably stick
to 32 bits. On the other hand, it's not very good to have "long" mapping
to different sizes on XDR and GIOP. I'll think about it.

> Note 4
> =====
> The files <cstring> and <cstdio> don't exist on my machine (or on many other
> proprietry unices. I think, therefore, that  you should put include/cheaders/
> back in. Otherwise the examples won't compile on these machines. What's the
> harm in them anyway? A minimal version would be:

I don't think it is the way to go as it will mean that where cstdio and
cstring exist they will be ignored. In addition, we can easily solve the 
problem in config.h. Please check that it is ok for you.

> Note 7
> =====
> I forgot to mention that if insufficient memory is allocated to the buffer then
> the code in examples/bench/xtl core dumps mysteriously. It appears not to
> trigger buffer_overflow_error. At least, I didn't get any message to screen.
> What happens on your machines?

Here it dumps core because the exception is not caught, not because it
is not thrown.

> As promised, I got XTL to run on the SGI machine, compiled both as a 32-bit
> binary and as a 64-bit one.

That's good news!
 
> The attached patch contains 1 small fix in include/config.h
> The remainder of the patch contains small changes in the examples directories.
> 
> I have included patches to the examples/tests and examples/smart dirs (Sorry
> about that. My makepatch script carefully omitted them last time!)
> 
> Most of the patch concerns the Makefiles. They now all have up to date
> dependencies and they all get the compiler information from a single file,
> Makefile.common, in the examples directory.

Applied with a couple of enhancements: I removed the absolute path in
TOPDIR and made dependencies optional (and void by default: they're
necessary for XTL developers, not for XTL users).

-- 
Jose Orlando Pereira
* mailto:jop@di.uminho.pt * http://gsd.di.uminho.pt/~jop *

xtl-1.3.pl.11.diff.gz