I dont really know what im supposed to do here..
I have to pass this print function to another binary tree print function.

I cant change the stuff in red..
Code:
void print_name(char *key, void *value){
   printf("%s\n", key);
}

void *create_tree(){
    BNODE *new_tree = (BNODE *)malloc(sizeof(BNODE));
    new_tree->left = NULL;
    new_tree->right = NULL;

}

void print_tree(void *tree, void(*print_fct)(char *key, void *value)){
    BNODE *current = (BNODE *)tree;
    if(current == NULL){
        return;
    }else{
        print_tree(current->left, print_fct(key, value));
        printf("%s\n", current->name);
        print_tree(current->right, print_fct(key, value));
    }

}
in main:
Code:
void *tree = create_tree();
...
print_tree(tree, print_name);

I understand I have to send in this print function.. but is this the right way? Im getting an error saying that key and value are undeclared.. but arent they declared in the "print function" in the 2nd function field?