Thus: it does *not* indicate that daylight saving is in effect
now - it just says that it will be in effect during part of the
year. Which part? The constants DST_AUST etc, that are the
values of this variable specify which algorithm to use to
find out which part of the year daylight saving is in effect.
Since these are arbitrary constants, the code in 2.0.32 (fs/ncpfs/dir.c)
return time - sys_tz.tz_minuteswest*60 + sys_tz.tz_dsttime*3600;
is ridiculous, and the part involving tz_dsttime should be
deleted.
Since this variable does not indicate that daylight saving time
is actually in effect, the code in 2.1.71 that mentions it
(in fs/isofs/util.c, fs/hpfs/hpfs_fs.c, fs/fat/misc.c and
fs/ncpfs/dir.c) is buggy, and also here all references to
tz_dsttime should be deleted.
Indeed, this struct timezone stuff is very obsolete -
no Linux libc has ever supported it, and glibc will
not support it, and it is a bad idea to use obsolete
structures, and then use them in an incorrect way.
Andries
P.S. I do not read linux-kernel; cc to me if you want me
to see your reply.