Re: August 13 C Standard Rationale on mktime
. . .the sole purpose of mktime is for doing arithmetic on time_t's. . . if the caller has to set tm_isdst before calling mktime(). The use that most people want for mktime() is to be able to parse a string (or whatever) into the tm_hour fields, etc, and then produce a time_t .. having to second guess whether dst applied at that particular time is never going to work. . .
Well, much of the time it will work if you're prepared to check the values that mktime drops into the "struct tm" passed to it, and if you've saved away the values you passed in. You guess one way or the other on tm_isdst and call mktime. If mktime changes tm_hour on you, you guess "the other" way and try again. Second guessing, yes; third guessing, no. Of course the Standard is mum about the need to do this, and about the need to handle other problems mentioned by kre. --ado
participants (1)
-
ado