blob: 412f5a2f89e2e379b4d67bab8c8413f4fe64c362 [file] [log] [blame]
#include "route.h"
void grepair(void)
{
GNODEPTR gptr , g2ptr ;
int i ;
for( i = 1 ; i <= numnodes + maxpnode ; i++ ) {
gptr = gnodeArray[i] ;
if( gptr == (GNODEPTR) NULL ) {
continue ;
}
if( i <= numnodes ) {
if( gptr->node <= numnodes ) {
continue ;
} else {
for( ; ; ) {
if( gptr != (GNODEPTR) NULL ) {
g2ptr = gptr->next ;
if( gptr->node > numnodes ) {
free( gptr ) ;
gptr = g2ptr ;
} else{
gnodeArray[i] = gptr ;
break ;
}
} else {
gnodeArray[i] = (GNODEPTR) NULL ;
break ;
}
}
}
gptr = gnodeArray[i] ;
for( ; ; ) {
if( gptr == (GNODEPTR) NULL ) {
break ;
}
gptr->length = gptr->ilength ;
gptr->cost = gptr->ilength ;
gptr = gptr->next ;
}
} else {
while( gptr != (GNODEPTR) NULL ) {
g2ptr = gptr->next ;
free( gptr ) ;
gptr = g2ptr ;
}
gnodeArray[i] = (GNODEPTR) NULL ;
}
}
return ;
}