Problema risolto :-)

ecco la funzione controllo:

codice:
void controllo( ListNodePtr *topPtr ) {


    ListNodePtr currentPtr;
    ListNodePtr previousPtr;
    ListNodePtr endPtr;
    int flag = 0; int x;


    currentPtr = *topPtr;
    previousPtr = *topPtr;


    while( previousPtr != NULL ) {
        x = previousPtr->info;
        currentPtr = previousPtr->nextPtr;


        while( currentPtr != NULL ) {


            if( currentPtr->info == x && flag == 1 ) {
                endPtr = currentPtr;
            }


            if( currentPtr->info == x && flag == 0) {
                *topPtr = previousPtr;
                flag = 1;
            }


            currentPtr = currentPtr->nextPtr;
        }


        previousPtr = previousPtr->nextPtr;


    }


    endPtr->nextPtr = NULL;




}


grazie per l'aiuto.