Comment 14 for bug 409178

Revision history for this message
In , Benjamin (benjamin-redhat-bugs) wrote :

Okay. So taskjuggler (which ships with Fedora 11) is trying to figure out a standard way to tell if a user has passed a bad timezone. It runs this check to do it:

   if (strcmp(tzname[0], tZone) == 0 ||
 (strcmp(tZone, "UTC") != 0 && strcmp(tzname[0], "UTC") == 0))

So it is check to see if the passed timezone is the same as the returned timezone, and if it is, whether the passed timezone was UTC.

This worked for prior versions of glibc, but does not in the version in F11. taskjuggler won't compile on Fedora 11 until either glibc changes behavior or a better failure check can be written.

Since glibc's behavior changed, and appears wrong (to me at least) I filed the bug against glibc.

How should an application tell if it received an invalid timezone? Any test should work with the old behavior and other libcs, of course.