]> sjero.net Git - wget/blobdiff - src/retr.c
[svn] New option --random-wait.
[wget] / src / retr.c
index 07d37d8bf8529054a44e9641eb94a0f5084ce724..b8fb6c84b3a05e348a2784705294890438f7a670 100644 (file)
@@ -336,7 +336,6 @@ retrieve_url (const char *origurl, char **file, char **newloc,
          char *suf = suffix (u->local);
          if (suf && (!strcasecmp (suf, "html") || !strcasecmp (suf, "htm")))
            *dt |= TEXTHTML;
-         FREE_MAYBE (suf);
        }
 #endif
     }
@@ -561,8 +560,18 @@ sleep_between_retrievals (int count)
            sleep (opt.waitretry);
        }
       else if (opt.wait)
-       /* Otherwise, check if opt.wait is specified.  If so, sleep.  */
-       sleep (opt.wait);
+       {
+         /* Otherwise, check if opt.wait is specified.  If so, sleep.  */
+         if (count > 1 || !opt.random_wait)
+           sleep (opt.wait);
+         else
+           {
+             int waitsecs = random() % (opt.wait * 2 + 1);
+             DEBUGP(("sleep_between_retrievals: norm=%ld,random=%ld,sleep=%d\n",
+                     opt.wait, waitsecs - opt.wait, waitsecs));
+             sleep(waitsecs);
+           }
+       }
     }
   if (first_retrieval)
     first_retrieval = 0;