taskrambler  v0.1.8
Web server and task management solution.
find.c File Reference
#include "tree.h"
+ Include dependency graph for find.c:

Go to the source code of this file.

Functions

void * treeFind (Tree this, const void *search, TreeComp comp)
 

Detailed Description

Author
Georg Hopp

This program 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.

This program 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 this program. If not, see http://www.gnu.org/licenses/.

Definition in file find.c.

Function Documentation

void* treeFind ( Tree  this,
const void *  search,
TreeComp  comp 
)

Definition at line 26 of file find.c.

References comp(), TREE_LEFT, and TREE_RIGHT.

Referenced by hashGet(), hashGetByVal(), and main().

27 {
28  while (NULL != this) {
29  int comparison = comp(this->data, search);
30 
31  if (0 < comparison) {
32  this = TREE_LEFT(this);
33  continue;
34  }
35 
36  if (0 > comparison) {
37  this = TREE_RIGHT(this);
38  continue;
39  }
40 
41  if (0 == comparison) {
42  break;
43  }
44  }
45 
46  return NULL != this ? this->data : NULL;
47 }
#define TREE_RIGHT(node)
Definition: tree.h:28
static int comp(const void *_a, const void *_b)
Definition: interface.c:32
#define TREE_LEFT(node)
Definition: tree.h:29

+ Here is the call graph for this function:

+ Here is the caller graph for this function: