//================================================================== bool GetServersList( int argc, char **argv, DVec<RRL::NET::Server> &list ) { list.clear(); for (int i=1; i < argc; ++i) { if ( 0 == strcasecmp( "-server", argv[i] ) ) { if ( (i+1) >= argc ) { printf( "Missing server definition.\n" ); return false; } RRL::NET::Server &servEntry = Dgrow( list ); char *pContext = NULL; char *pToken = strtok_r( argv[i+1], ":", &pContext ); if ( pToken ) { servEntry.mAddressName = pToken; if ( pToken = strtok_r( NULL, ":", &pContext ) ) { servEntry.mPortToCall = atoi( pToken ); if ( servEntry.mPortToCall <= 0 && servEntry.mPortToCall >= 65536 ) { printf( "Invalid port range.\n" ); return false; } } } else servEntry.mAddressName = argv[i+1]; i += 1; } } return true; }