]> sjero.net Git - wget/blobdiff - src/url.c
[svn] * *.{gmo,po,pot}: Regenerated after modifying wget --help output.
[wget] / src / url.c
index a5ab4316cf01a5025f7f3f79c98d35c56b37e108..e23680659159e65d2d12a0185b592a725532986f 100644 (file)
--- a/src/url.c
+++ b/src/url.c
@@ -213,7 +213,7 @@ decode_string (char *s)
   *p = '\0';
 }
 
-/* Encodes the unsafe characters (listed in URL_UNSAFE_CHARS) in a
+/* Encode the unsafe characters (as determined by URL_UNSAFE) in a
    given string, returning a malloc-ed %XX encoded string.  */
 char *
 encode_string (const char *s)
@@ -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;
@@ -825,7 +830,8 @@ get_urls_file (const char *file)
 
    If SILENT is non-zero, do not barf on baseless relative links.  */
 urlpos *
-get_urls_html (const char *file, const char *this_url, int silent)
+get_urls_html (const char *file, const char *this_url, int silent,
+              int dash_p_leaf_HTML)
 {
   long nread;
   FILE *fp;
@@ -854,7 +860,8 @@ get_urls_html (const char *file, const char *this_url, int silent)
   first_time = 1;
   /* Iterate over the URLs in BUF, picked by htmlfindurl().  */
   for (buf = orig_buf;
-       (buf = htmlfindurl (buf, nread - (buf - orig_buf), &step, first_time));
+       (buf = htmlfindurl (buf, nread - (buf - orig_buf), &step, first_time,
+                          dash_p_leaf_HTML));
        buf += step)
     {
       int i, no_proto;