why doesn't this return the user with the matching name
for (int i = 0; i < MAX_FRIENDS; i++) {
            if (user->friends[i] != NULL) {  // Only print this pointer's corresponding friend if the pointer is not null
                printf("%s\n", user->friends[i]->name);
            }
        }User *find_user(const char *name, const User *head) {
    // First, make sure users exist
    if (head != NULL) {
        // Start from the head
        User *curr = (User *) head;

        // Traverse linked list until reaching null
        while (curr != NULL) {
            if (strcmp(curr->name, name) == 0) {  // Check if the current username matches
                return curr;
            }
            curr = curr->next;  // If not, link to next user and repeat
        }
    }
    return NULL;
}
