Zitat von Jochen Roderburg <[EMAIL PROTECTED]>:

>
> Continued download (wget -c) is not done in the current svn version with
> default
> options (where no HEAD is used). The download starts instead at byte 0 again.
> When other options require a HEAD, it works ok again.

Another astonishing test result:

With "wget -c -O file URL" continuation works fine on the -O file (!!!), it even
makes a timestamp on that file. I think this raises several questions   ;-)

First, I think, -c should also be in the family of options which are not
compatible with -O (where we already have -r, -p, -N).

Second, it could give hints where the problem with -c lies.

Actually I can understand in the code what happens, but i do not understand the
intended logic and cannot correct it, that is now really for Mauro and Micah.
There is a variable "got_name" in http.c which seems to be used for different
purposes. One usage is as indicator that -O is used and the other has something
to do with the -c logic. I see also a conflict between older changes by Mauro
and the latest changes by Micah in this area.

Interesting code snippets:

http.c, line 2143 ff.

      /* Decide whether or not to restart.  */
      if (opt.always_rest
          && got_name
          && stat (hstat.local_file, &st) == 0
          && S_ISREG (st.st_mode))
        /* When -c is used, continue from on-disk size.  (Can't use
           hstat.len even if count>1 because we don't want a failed
           first attempt to clobber existing data.)  */
        hstat.restval = st.st_size;

http.c, line 2634 ff.

          if (send_head_first)
            {
              got_name = true;
              restart_loop = true;
            }

in an older version this was

          if (opt.always_rest)
            {
              got_name = true;
              restart_loop = true;
            }


Regards, J.Roderburg


Reply via email to