On Thu, 17 Aug 2006, Peter W. Draper wrote:
> On Thu, 17 Aug 2006, David Berry wrote:
> > OK. I see that ndf.c has special code that translates NULL into DAT__ROOT.
> > So if ndfPlace was supplied with a "DAT__NOLOC" NULL (which should really
> > result in an error being reported) it will instead treat it like DAT__ROOT
> > and continue succesfully?
> I believe that's the case, the DAT__ROOT is never passed to HDS, just used
> in NDF for testing against.
> > Would it not be better to have a separate way of representing DAT__ROOT in
> > the C interface?
> Of the NDF library, maybe it's only used in one routine in HDS itself, but
> that would break backwards compatibility?
It seems reasonably that it should be possible to distinguish between
DAT__NOLOC and DAT__ROOT in C, but I suppose you are correct that any
existing code that uses NULL to represent DAT__ROOT would break if we now
reserved NULL exclusively for DAT__NOLOC.
Although I don't suppose there are very many places where this is done,
since the HDSLoc interface is still pretty new. If distinguishing between
DAT__NOLOC and DAT__ROOT in C is a "good thing", then maybe it would be
better to do it now whilst the backwards compatibility problem is still