summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2000-01-26 12:50:46 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2000-01-26 12:50:46 +0000
commit5d32c97ce99fd82b43b2d875d5c787961a096943 (patch)
tree574f53821ebdcc0474f17f60e223c34a90fc2e9b
parentcd1d3807224e096868631e00d2f2c7dd6a9749e2 (diff)
Notes
-rw-r--r--lib/libfetch/ftp.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/libfetch/ftp.c b/lib/libfetch/ftp.c
index 9f0a8ac3a843..0f45bfadafd7 100644
--- a/lib/libfetch/ftp.c
+++ b/lib/libfetch/ftp.c
@@ -539,8 +539,6 @@ fetchStatFTP(struct url *url, struct url_stat *us, char *flags)
goto ouch;
for (ln = last_reply + 4; *ln && isspace(*ln); ln++)
/* nothing */ ;
- t = time(NULL);
- us->mtime = localtime(&t)->tm_gmtoff;
sscanf(ln, "%04d%02d%02d%02d%02d%02d",
&tm.tm_year, &tm.tm_mon, &tm.tm_mday,
&tm.tm_hour, &tm.tm_min, &tm.tm_sec);
@@ -548,9 +546,13 @@ fetchStatFTP(struct url *url, struct url_stat *us, char *flags)
tm.tm_mon--;
tm.tm_year -= 1900;
tm.tm_isdst = -1;
- tm.tm_gmtoff = 0;
- us->mtime += mktime(&tm);
- us->atime = us->mtime;
+ t = mktime(&tm);
+ if (t == (time_t)-1)
+ t = time(NULL);
+ else
+ t += tm.tm_gmtoff;
+ us->mtime = t;
+ us->atime = t;
return 0;
ouch: