2009-10-26 19:48:54 +01:00
/*
* Elastic Binary Trees - exported functions for String data nodes .
2011-07-25 11:38:17 +02:00
* Version 6.0 .6
2011-01-04 14:33:13 +01:00
* ( C ) 2002 - 2011 - Willy Tarreau < w @ 1 wt . eu >
2009-10-26 19:48:54 +01:00
*
2011-07-25 11:38:17 +02:00
* This library is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation , version 2.1
* exclusively .
2009-10-26 19:48:54 +01:00
*
2011-07-25 11:38:17 +02:00
* This library is distributed in the hope that it will be useful ,
2009-10-26 19:48:54 +01:00
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
2011-07-25 11:38:17 +02:00
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* Lesser General Public License for more details .
2009-10-26 19:48:54 +01:00
*
2011-07-25 11:38:17 +02:00
* You should have received a copy of the GNU Lesser General Public
* License along with this library ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 USA
2009-10-26 19:48:54 +01:00
*/
/* Consult ebsttree.h for more details about those functions */
# include "ebsttree.h"
2018-11-13 19:55:57 -08:00
/* Find the first occurrence of a zero-terminated string <x> in the tree <root>.
2009-10-26 19:48:54 +01:00
* It ' s the caller ' s reponsibility to use this function only on trees which
* only contain zero - terminated strings . If none can be found , return NULL .
*/
REGPRM2 struct ebmb_node * ebst_lookup ( struct eb_root * root , const char * x )
{
return __ebst_lookup ( root , x ) ;
}
/* Insert ebmb_node <new> into subtree starting at node root <root>. Only
* new - > key needs be set with the zero - terminated string key . The ebmb_node is
* returned . If root - > b [ EB_RGHT ] = = 1 , the tree may only contain unique keys . The
* caller is responsible for properly terminating the key with a zero .
*/
REGPRM2 struct ebmb_node * ebst_insert ( struct eb_root * root , struct ebmb_node * new )
{
return __ebst_insert ( root , new ) ;
}