diff --git a/src/syncterm/syncterm.c b/src/syncterm/syncterm.c index 5d2cb114850889d41b588bc9124b757b21ca956b..fe03407cab5475b09ba91fd204dff5933f6a9fc9 100644 --- a/src/syncterm/syncterm.c +++ b/src/syncterm/syncterm.c @@ -802,8 +802,19 @@ void parse_url(char *url, struct bbslist *bbs, int dflt_conn_type, int force_def SAFECOPY(bbs->user,p1); p1=p3+1; } + p2 = p1; + if(*p1=='[') { + p2=strchr(p1, ']'); + if(p2 != NULL) { + p1++; + *p2=0; + p2++; + } + else + p2 = p1; + } SAFECOPY(bbs->name,p1); - p2=strchr(p1,':'); + p2=strrchr(p2,':'); if(p2!=NULL) { *p2=0; p2++;