CVS update: samba/source/ubiqx

Christopher R. Hertel crh at NTS.Umn.EDU
Tue May 12 02:51:26 GMT 1998


Let me go over this again...

The reason that I object is that I think that the ubiqx modules, and parts
of the "main" Samba code, should be able to stand alone.  Mangle.c, for 
example, would be great as a stand-alone module.  It should not depend 
upon the rest of the code to work.  I'm also thinking about the smb.conf 
parsing and config database management in these terms.  Make this 
*really* re-usable code.

The ubiqx modules are supposed to work this way.  Sure, the AVL and Splay 
trees need the base Binary trees from which they descend, but that's 
because they are descendant types.  You can separate them from the 
Linked Lists without breaking anything.  The real key is that you can 
separate them from Samba and still use them.  I'd like to see us make 
this happen with chunks of Samba, too.

So, with regard to the definition of NULL, I'd really rather re-solve the
specific problem within the ubiqx code.  These modules should work on just
about any system anyway, so I have a real need to solve them.

According to K&R 2ndEd., NULL should be defined in stdio.h (see pg. 102).
I happen to have a SunOS4 system handy, and NULL is defined there, so I
think that the correct & simple solution would be to include that *instead
of* <stdlib.h>.  I have also checked Amiga, Linux, and SGI systems and
find that NULL is suitably defined.

Okay, so two options:

  1) Remove includes.h and stdlib.h, replacing them with stdio.h
  2) Remove includes.h, and put in:
     #include <stdlib.h>    /* Intended to get a define for NULL. */
     #ifndef NULL
     #include <stdio.h>     /* The correct way to get NULL defined, per K&R. */
     #endif

The latter ensures that I won't break the code on any system on which it 
already works (in case they're broken).

Please send comments and/or objections!

Chris -)-----

> Date:	Monday May 11, 1998 @ 18:32
> Author:	tridge
> 
> Update of /data/cvs/samba/source/ubiqx
> In directory samba:/tmp/cvs-serv27550
> 
> Modified Files:
> 	ubi_AVLtree.c ubi_BinTree.c ubi_Cache.c ubi_SplayTree.c 
> 	ubi_dLinkList.c 
> Log Message:
> 
> include includes.h in all the ubiqx files. I know Chris won't like
> this but it really is necessary (sorry Chris!)
> 
> ubiqx code didn't compile on SunOS4 otherwise as stdlib didn't define
> NULL.


-- 
Christopher R. Hertel -)-----                   University of Minnesota
crh at nts.umn.edu              Networking and Telecommunications Services


More information about the samba-technical mailing list