24,7 → 24,6 |
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
|
#include "mavl.h" |
|
int mavl_foreach_lr(struct mavlnode *n, int (*callback)(void *,void *),void *cbpriv) |
31,11 → 30,11 |
{ |
if (!n) |
return 1; |
if (!mavl_foreach_lr(n->left,callback,cbpriv)) |
if (!mavl_foreach_lr(n->s[0],callback,cbpriv)) |
return 0; |
if (!callback(cbpriv,mavlnode_dataptr(n))) |
return 0; |
return mavl_foreach_lr(n->right,callback,cbpriv); |
return mavl_foreach_lr(n->s[1],callback,cbpriv); |
|
} |
|
43,11 → 42,11 |
{ |
if (!n) |
return 1; |
if (!mavl_foreach_rl(n->right,callback,cbpriv)) |
if (!mavl_foreach_rl(n->s[1],callback,cbpriv)) |
return 0; |
if (!callback(cbpriv,mavlnode_dataptr(n))) |
return 0; |
return mavl_foreach_rl(n->left,callback,cbpriv); |
return mavl_foreach_rl(n->s[0],callback,cbpriv); |
} |
|
void mavl_foreach(struct mavl *t, int (*callback)(void *,void *),void * cbpriv,int dir) |