Hi Brian, thanks a lot for your answer. In fact it works initializing the try struct to {0}.
As you said, I was lucky that until now I never found the problem. Remain the question why setting the TZ variable make this problem coming out. By the way, thanks a lot for the support !!!!!!! Luca > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Brian Dessent > Sent: vendredi, 24. juin 2005 21:37 > To: cygwin@cygwin.com > Subject: Re: strptime error when setting a different TimeZone > with export TZ=UTC > > Luca Wullschleger wrote: > > > Hi everybody. I have a very specific problem and I'm looking for > > someone giving me a solution. > > I'm afriad this is operator error on your part. > > > struct tm try; > > Here 'try' starts out as a regular automatic variable, with > all of its fields set to arbitrary (undefined) values. > > > if ((char *)strptime(date,"%d/%b/%Y:%T",&try) == NULL) { > > Here you call strptime() to fill in the values of 'try', > however the strptime function has the semantics that it will > only fill in the members of struct tm that it is asked to > parse. This means that after the call, some of the members > still have undefined values. > Specifically, the members tm_wday, tm_yday, and tm_isdst will > contain garbage. > > > ts2 = mktime(&try) - atoi(timezone)*3600; > > And here you pass this value of 'try' that still has > uninitialized values to mktime(), the result of which will be > undefined as well. I think you were just lucky that it > worked in the case where TZ was not set, but in general once > you encounter the situation where you pass uninitialized data > to a function, all bets are off because your program is invalid C. > > If you change the line above to "struct tm try = { 0 };" or > otherwise initialize it somehow, then I think you will get > the desired functionality. > > Brian > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Problem reports: http://cygwin.com/problems.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/ > > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/