Hi,

First of all, I'm not on the list, so if you would cc me on any
responses I would appreciate it.

I'm using wget to mirror an ftp site. The problem I'm seeing is that
very large files are copied each time, even though there are no changes.
I couldn't find any known bugs related to this problem. I added some
addition debugs to the source and it seems that when the size is larger
than 7 digits, it losses track of the file size. After some poking
around in the code, I came up with the following change that seems to
solve the problem.

223,225c223,224
<                   while (! ISDIGIT (*t) && *t != 0)
<                     ++t;
<                   DEBUGP (("size: %s; ", t));
---
                while (t > line && ISDIGIT (*t))
                  --t;

It seems from the comment that it's trying to work it's way back to the
beginning of the size string, but t is already pointing to the beginning
of the token. The problem that I think this was trying to address is the
case where there is no space between the group name and the size.
Instead, I changed the while look to traverse the string forward until
it finds a digit.

I'm not a developer, and I haven't written any serious c code in 10
years, so I may have this all wrong. The fact that I can't explain why
the number if digits has any effect shows that I don't fully understand
what's going on here. If anybody else can tell me another solution to
mirror my ftp site without repeatedly copying all the largest files, I
would appreciate it.

-Tim Fletcher

Reply via email to