make sure to always call time, ctime, and gmtime with `time_t's.
there were some types (like in lastlog) that we believed to always be time_t. this has proven wrong on Solaris 8 in 64-bit mode, where they are stored as 32-bit quantities but time_t has gone up to 64 bits git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8066 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -647,6 +647,7 @@ getit(int argc, char **argv, int restartit, char *mode)
|
|||||||
int cmdret;
|
int cmdret;
|
||||||
int yy, mo, day, hour, min, sec;
|
int yy, mo, day, hour, min, sec;
|
||||||
struct tm *tm;
|
struct tm *tm;
|
||||||
|
time_t st_mtime = stbuf.st_mtime;
|
||||||
|
|
||||||
overbose = verbose;
|
overbose = verbose;
|
||||||
if (debug == 0)
|
if (debug == 0)
|
||||||
@@ -665,7 +666,7 @@ getit(int argc, char **argv, int restartit, char *mode)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
tm = gmtime(&stbuf.st_mtime);
|
tm = gmtime(&st_mtime);
|
||||||
tm->tm_mon++;
|
tm->tm_mon++;
|
||||||
tm->tm_year += 1900;
|
tm->tm_year += 1900;
|
||||||
|
|
||||||
|
@@ -620,7 +620,9 @@ cmd
|
|||||||
"%s: not a plain file.", $3);
|
"%s: not a plain file.", $3);
|
||||||
} else {
|
} else {
|
||||||
struct tm *t;
|
struct tm *t;
|
||||||
t = gmtime(&stbuf.st_mtime);
|
time_t st_mtime = stbuf.st_mtime;
|
||||||
|
|
||||||
|
t = gmtime(&st_mtime);
|
||||||
reply(213,
|
reply(213,
|
||||||
"%04d%02d%02d%02d%02d%02d",
|
"%04d%02d%02d%02d%02d%02d",
|
||||||
t->tm_year + 1900,
|
t->tm_year + 1900,
|
||||||
|
Reference in New Issue
Block a user