summaryrefslogtreecommitdiff
path: root/source3/ubiqx/ubi_SplayTree.c
AgeCommit message (Collapse)AuthorFilesLines
1998-06-03It occurred to me that the samba includes.h file should be included in theChristopher R. Hertel1-8/+30
header files used by the ubiqx modules, instead of being hidden in the .c files. This would ensure that anything in includes.h would be "seen" by the ubiqx headers. I also had to put an #ifdef around the includes for ubi_SplayTree.h and ubi_Cache.h in includes.h to prevent the header of the descendant type from being included before its parent type. Chris -)----- (This used to be commit e30a7e023b7491c01e052ae3dbd1788f84075413)
1998-06-02Changed the mechanism for including the Samba includes.h in the ubiqx codeChristopher R. Hertel1-4/+7
to something less hurried, simpler, and (I believe) more acceptable to all. The ubi_*.c files all now #include sys_include.h which, for Samba, contains only comments and the line #include "../includes.h" That will make sure that the Samba header is there, allows me to distribute a different default header with the main ubiqx set, and allows others to write their own sys_includes.h for their own purposes. Thanks to Andrew and Jeremy for hammering this out with me. Chris -)----- (This used to be commit def161eeea4b430d785ec57150f96fae98a34bcb)
1998-05-21Along the lines that Andrew suggested, I added a header called ubi_null.h.Christopher R. Hertel1-6/+9
This header tries four different locations for a definition of NULL. If NULL still hasn't been found, it defaults to ((void *)0). All of the includes can be, essentially, overridden by defining NULL on the command line, as in -DNULL=((void *)0). I have faith that this will avoid the problem of NULL being in different places on different systems. If there is a system out there that doesn't define NULL in any of the headers I've included, then let me know *where* it's defined and I'll add another header. Chris -)----- (This used to be commit 05fcc678729999f249b97460a579bdc218028a47)
1998-05-11include includes.h in all the ubiqx files. I know Chris won't likeAndrew Tridgell1-1/+1
this but it really is necessary (sorry Chris!) ubiqx code didn't compile on SunOS4 otherwise as stdlib didn't define NULL. (This used to be commit 4989db8b0b6fad8bd743615b1fe177adbb2594cf)
1998-03-10Updates to all of these base level modules.Christopher R. Hertel1-7/+16
Trees: Previously, the AVL node type was different than the node type used in the BinTree and SplayTree modules. It requires an additional field to maintain AVL balance information. I merged that field into the base type (in ubi_BinTree.h) so that all three use the same node type. On most systems this will have zero effect on the node size, due to word alignment. The change allowed me to remove a bigbunch of redundant code, which makes the AVL module smaller and cleaner. Linked Lists: I combined ubi_StackQueue into ubi_sLinkList. The interface has changed a tiny bit. I added macros to ubi_dLinkList to round it out a bit. I have verified that the few Samba modules that use these tools (so far) do not have any problems with the changes. Chris -)----- (This used to be commit 599a29401defded32358dfae18e54704c0428f38)
1997-12-24Backed out changes that attempted to address a pointer array using -1,0,1.Christopher R. Hertel1-23/+85
Jeremy pointed out that there might be problems with this. Darn shame. (This used to be commit ce9acc96a6cbc91f0a3f95221c3e8f801cbdb602)
1997-12-11While working on a general-purpose caching module (out soon), I thought ofChristopher R. Hertel1-92/+36
a better way to handle the node pointer array used in ubi_BinTree. The change simplified the code a bigbunch. It also forced updates to all of the binary tree modules. CRH (This used to be commit db9898559f1493ade4478196b72663759bb18995)
1997-10-30Modified Files:Christopher R. Hertel1-0/+462
ubiqx/Makefile ubiqx/README.UBI Added new modules to the Makefile. Changed the text of the README to reflect the directory change. Added Files: ubiqx/ubi_AVLtree.c ubiqx/ubi_AVLtree.h ubiqx/ubi_BinTree.c ubiqx/ubi_BinTree.h ubiqx/ubi_SplayTree.c ubiqx/ubi_SplayTree.h ubiqx/ubi_StackQueue.c ubiqx/ubi_StackQueue.h ubiqx/ubi_sLinkList.c ubiqx/ubi_sLinkList.h This is the remainder of the toolkit. A quick rundown: sLinkList = A simple singly-linked list. StackQueue = Implements both a stack and a queue. dLinkList = (Not added 'cause it's already there.) A doubly-linked list. BinTree = Base level binary tree module. (No height balancing, just the basics.) AVLtree = Descendant type of BinTree. Implements a height-balanced (AVL) binary tree. SplayTree = Descendant type of BinTree. Implements a splay-balanced binary tree. Renamed Files: ubiqx/COPYING.LGPL ==> ubiqx/COPYING.LIB This matches the naming that GNU suggests. (This used to be commit c6205dd45e455a4a228a3411b95fa569e0ea00e1)
1997-10-16I got fed up trying to put the tree and list stuff into a subdirectory,Christopher R. Hertel1-468/+0
so I've started to move them into the main directory. (This used to be commit 4691a94d3c657321d29231f062aed714dfe4ac26)
1997-10-10This is the ubiqx binary tree and linked list library.Christopher R. Hertel1-0/+468
This library is being included as part of the Samba distribution. (Hurray!) (This used to be commit 3590a783338defa4ff1385b2d5bb095c5051ac82)