myMPD
Internal API documentation
Loading...
Searching...
No Matches
rax_extras.c File Reference

RAX helper functions. More...

#include "compile_time.h"
#include "src/lib/rax_extras.h"
#include "src/lib/random.h"
#include "src/lib/sds_extras.h"
#include <stdlib.h>
Include dependency graph for rax_extras.c:

Functions

void rax_insert_no_dup (rax *r, sds key, void *data)
 
void rax_free_data (rax *r, rax_free_data_callback free_cb)
 
static void rax_free_sds_data_cb (void *data)
 
void rax_free_sds_data (rax *r)
 

Detailed Description

RAX helper functions.

Function Documentation

◆ rax_free_data()

void rax_free_data ( rax *  r,
rax_free_data_callback  free_cb 
)

Frees a rax tree and its data with a free_cb

Parameters
rrax tree to free
free_cbcallback to free data or NULL to free a pointer

◆ rax_free_sds_data()

void rax_free_sds_data ( rax *  r)

Frees a rax tree and its sds data

Parameters
rrax tree to free

◆ rax_free_sds_data_cb()

static void rax_free_sds_data_cb ( void *  data)
static

Callback to free sds data

Parameters
datapointer to sds string

◆ rax_insert_no_dup()

void rax_insert_no_dup ( rax *  r,
sds  key,
void *  data 
)

Inserts the key into the radix tree. Appends random chars to the key until it is uniq.

Parameters
rrax tree to insert
keykey to insert
datadata to insert