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 hopefully small. David