Ragazzi stò cercando di utilizzare questa funzione :

codice:
// Inserimento in un BST iterativo
NODO *BST_InsertIter(NODO *root, COMPARE Compare, void *value)
{
     NODO *New_Node, *curr, *prev;
     curr = root;
     
     // ricerco la posizione
     prev = NULL;
     
     while ( curr != NULL )
     {
           // salvo il nodo precedente prima di scorrere con il corrente
           prev = curr;
           
           if ( Compare ( value, curr->info ) < 0 )
           {
                // vado verso sinistra
                curr = curr->sx;
           }
           else 
           if ( Compare ( value, curr->info ) > 0 )
           {
                // vado verso destra
                curr = curr->dx;
           }
     }
     
     // creazione del nuovo nodo da inserire
     New_Node=(NODO*)malloc(sizeof(NODO));
     New_Node->sx = NULL;
     New_Node->dx = NULL;
     New_Node->info = value;
     
     /* aggiornamento
      * se il valore è più piccolo del nodo corrente che non ha più figli(nè destro nè sinistro)
      * aggiungo il nodo a sinistra altrimenti a destra
      */
     if ( Compare ( value, curr->info ) < 0 )
        prev->sx = New_Node;
     else if ( Compare ( value, curr->info ) > 0 )
        prev->dx = New_Node;
        
     return root;
}
praticamente è l'inserimento in un albero binario di ricerca utilizzando un metodo iterativo.

nel main ho:

codice:
 char *stringa;
 NODO *rootString;

                printf("Inserisci la stringa da inserire:\n");
                stringa = GetInput();
                rootString = BST_InsertIter(rootString, &CompareString, stringa );

funzione GetInput
codice:
char *GetInput(void)
{
    char* result=(char*)malloc(10*sizeof(char)),temp,length=0,dim=10;
    while( (temp=getchar())!=10)
    {
        length++;
        if(dim<length)
        {
            dim+=10;
            result=(char*)realloc(result,dim*sizeof(char));
        }
        result[length-1]=temp;
    }
    result[length]='\0';//aggiunge il terminatore stringa 
    
    return result;
}
Quando provo a inserire un elemento si blocca il programma eppure non riesco a capire il perchè, qualcuno può aiutarmi?
Grazie anticipatamente