Documentation + removing of debug printfs.
FossilOrigin-Name: ea37a6cb345339e283844623141002e6fa9bb9b36fde3f63d1869d1ccc50a1ac
This commit is contained in:
		@ -1,28 +1,45 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					    This file is part of libcapwap.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    libcapwap is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					    it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					    the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					    (at your option) any later version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    libcapwap is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					    GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					    along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "mavl.h"
 | 
					#include "mavl.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "dbg.h" //Tube
 | 
					/** 
 | 
				
			||||||
#include "mbag.h"
 | 
					 * @file
 | 
				
			||||||
 | 
					 * @brief Implementation if mavl_merge.
 | 
				
			||||||
 | 
					 * @addtogroup MavlFunctions 
 | 
				
			||||||
 | 
					 * @{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void mavlnode_move(mavl_t m,mavl_t t, struct mavlnode *n)
 | 
					static void mavlnode_move(mavl_t m,mavl_t t, struct mavlnode *n)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	struct mavlnode * mn = mavl_get_node(m,n->data);
 | 
						struct mavlnode * mn = mavl_get_node(m,n->data);
 | 
				
			||||||
	if (mn) {
 | 
						if (mn) {
 | 
				
			||||||
DBGX("replacing !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!","");
 | 
					 | 
				
			||||||
		if (m->del) {
 | 
							if (m->del) {
 | 
				
			||||||
			m->del(mn->data);
 | 
								m->del(mn->data);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		mn->data=n->data;
 | 
							mn->data=n->data;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else{
 | 
						else{
 | 
				
			||||||
DBGX("ODDING replacing !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!","");
 | 
					 | 
				
			||||||
		mavl_add(m,n->data);
 | 
							mavl_add(m,n->data);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	free(n);
 | 
						free(n);
 | 
				
			||||||
	t->count--;
 | 
						t->count--;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -35,17 +52,27 @@ static void mavl_merge0(mavl_t m, mavl_t t ,struct mavlnode * n)
 | 
				
			|||||||
		return;
 | 
							return;
 | 
				
			||||||
	mavl_merge0(m,t,n->left);
 | 
						mavl_merge0(m,t,n->left);
 | 
				
			||||||
	mavl_merge0(m,t,n->right);
 | 
						mavl_merge0(m,t,n->right);
 | 
				
			||||||
 | 
					 | 
				
			||||||
mbag_item_t *i = n->data;
 | 
					 | 
				
			||||||
DBGX("MBAG I %s",i->id);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	mavlnode_move(m,t,n);
 | 
						mavlnode_move(m,t,n);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Merge two MAVL Objects
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Move all elements in MAVL object t to MAVL object m. Delete all
 | 
				
			||||||
 | 
					 * elements from MAVL object t. If an element from t already exists
 | 
				
			||||||
 | 
					 * in m, it will be replaced.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param m target object 
 | 
				
			||||||
 | 
					 * @param t source object
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 */ 
 | 
				
			||||||
void mavl_merge(mavl_t m, mavl_t t)
 | 
					void mavl_merge(mavl_t m, mavl_t t)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	mavl_merge0(m,t,t->root);		
 | 
						mavl_merge0(m,t,t->root);		
 | 
				
			||||||
	t->root=0;
 | 
						t->root=NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** *@} */
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user