is the code stuck anywhere
    while (curr_user != NULL){
        printf("hello2"); // TESTING
        // fflush(stdout); // TESTING
        int i;
        for (i=0; i < MAX_FRIENDS; i++){
            if ((curr_user->friends)[i] == user_to_del){
                printf("i : %d", i); // TESTING
                // found the user to delete in friend's list, shift the position of other friends in the list
                int j = i;
                for (j = i; j < (MAX_FRIENDS - 1); j++){
                    (curr_user->friends)[j] = (curr_user->friends)[j + 1]; 
                    printf("j : %d", j); // TESTING
                }
                // shift the last friend - must be NULL 
                (curr_user->friends)[MAX_FRIENDS - 1] = NULL;
                i = MAX_FRIENDS ; // breaks the for_loop because already deleted user from friend list
            }
        }
        curr_user = curr_user->next;
    }