struct tm problem

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Mar 4 21:48:00 GMT 2014


On Mar  3 23:28, Irfan Adilovic wrote:
> (Please note the date of the quoted emails)
> 
> On Mon, May 23, 2005 at 07:58:01PM -0700, Yitzchak Scott-Thoennes wrote:
> > On Mon, May 23, 2005 at 06:34:21PM +0430, Alireza Ghasemi wrote:
> > > Hello,
> > > I have downloaded some c++ libraries and tried to download them.But All of
> > > them give an error like :
> > > "'struct tm' has no member called 'tm_gmtoff'"
> > > (tm is defined as 'time_t t; time(&t);tm* ptm = localtime(&t);')
> > > I guess that tm should be defined in ctime header.
> > > What's the problem and what should I do?
> > > Thanks
> >
> > tm_gmtoff is not required by the standard:
> > http://www.opengroup.org/onlinepubs/009695399/basedefs/time.h.html
> >
> > However, it is an extension available in the Olson tzcode, which
> > cygwin seems to use.  Enabling it would seem to be a matter of
> > setting -DTM_GMTOFF=tm_gmtoff and adding it to time.h.

And same for TM_ZONE.

> I have successfully done this and use the tm_gmtoff in my code
> actively. Is there a reason this isn't enabled? Is there any interest
> in the community to make tm_gmtoff available by default (It's so easy,
> it's a shame it's not :-))?

It's easy to change the struct, but changing the size of a structure
is an incompatible change to existing applications which leads to
overwriting memory.

A change to Cygwin involves an extra check if the application has been
build against an older or a newer version of Cygwin, and to fill the
tm_gmtoff/tm_zone structure members dependent on that.  So it's not just
done by defining TM_GMTOFF and TM_ZONE.

http://cygwin.com/acronyms/#SHTDI

I'll put this on my TODO list, but if somebody want's to take a stab
at it, feel free.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20140304/269c0de8/attachment.sig>


More information about the Cygwin mailing list