what is wrong with this code
User *find_user(const char *name, const User *head) {
    // cast a (const User *) to a (User *)
    User *current = (User *) head;
    
    if (current == NULL)
    {
        return NULL;
    }else if (strcmp(current->name, name))
    {
        return current;
    }else{
        if (current->next != NULL)
        {
            find_user(name, current->next);
        }
    }
}