1
0
mirror of https://github.com/moparisthebest/wget synced 2024-07-03 16:38:41 -04:00

[svn] Remember the position of the previous token instead of backtracking to it.

By Giuseppe Bonacci.
This commit is contained in:
hniksic 2005-08-04 14:45:28 -07:00
parent 5d1908192e
commit fe777884cf
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2005-08-04 Giuseppe Bonacci <g.bonacci@libero.it>
* ftp-ls.c (ftp_parse_unix_ls): Remember the position of the
previous token instead of backtracking back to it.
2005-07-08 Gisle Vanem <giva@bgnett.no>
* mswindows.h: Include process.h to get getpid() declaration.

View File

@ -104,7 +104,7 @@ ftp_parse_unix_ls (const char *file, int ignore_perms)
struct tm timestruct, *tnow;
time_t timenow;
char *line, *tok; /* tokenizer */
char *line, *tok, *ptok; /* tokenizer */
struct fileinfo *dir, *l, cur; /* list creation */
fp = fopen (file, "rb");
@ -195,7 +195,9 @@ ftp_parse_unix_ls (const char *file, int ignore_perms)
This tactic is quite dubious when it comes to
internationalization issues (non-English month names), but it
works for now. */
while ((tok = strtok (NULL, " ")) != NULL)
ptok = line;
while (ptok = tok,
(tok = strtok (NULL, " ")) != NULL)
{
--next;
if (next < 0) /* a month name was not encountered */
@ -211,7 +213,7 @@ ftp_parse_unix_ls (const char *file, int ignore_perms)
/* Back up to the beginning of the previous token
and parse it with str_to_wgint. */
char *t = tok - 2;
char *t = ptok;
while (t > line && ISDIGIT (*t))
--t;
if (t == line)