diff --git a/src/ChangeLog b/src/ChangeLog index fa01e18d..a95781f3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2000-06-01 Hrvoje Niksic + + * url.c (str_url): Print the port number only if it's different + from the default port number for that protocol. + 2000-05-22 Dan Harkless * main.c (main): Added --help line for Damir Dzeko diff --git a/src/url.c b/src/url.c index a5ab4316..042835fd 100644 --- a/src/url.c +++ b/src/url.c @@ -631,6 +631,7 @@ str_url (const struct urlinfo *u, int hide) { char *res, *host, *user, *passwd, *proto_name, *dir, *file; int i, l, ln, lu, lh, lp, lf, ld; + unsigned short proto_default_port; /* Look for the protocol name. */ for (i = 0; i < ARRAY_SIZE (sup_protos); i++) @@ -639,6 +640,7 @@ str_url (const struct urlinfo *u, int hide) if (i == ARRAY_SIZE (sup_protos)) return NULL; proto_name = sup_protos[i].name; + proto_default_port = sup_protos[i].port; host = CLEANDUP (u->host); dir = CLEANDUP (u->dir); file = CLEANDUP (u->file); @@ -693,9 +695,12 @@ str_url (const struct urlinfo *u, int hide) } memcpy (res + l, host, lh); l += lh; - res[l++] = ':'; - long_to_string (res + l, (long)u->port); - l += numdigit (u->port); + if (u->port != proto_default_port) + { + res[l++] = ':'; + long_to_string (res + l, (long)u->port); + l += numdigit (u->port); + } res[l++] = '/'; memcpy (res + l, dir, ld); l += ld;