[Bug 241978] tzname not always set right

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Nov 15 06:19:40 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241978

            Bug ID: 241978
           Summary: tzname not always set right
           Product: Base System
           Version: 12.1-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: standards
          Assignee: standards at FreeBSD.org
          Reporter: deepbluemistake at gmail.com

tzname doesn't always get set.  Assuming it's meant to be POSIX-compliant (not
necessarily XSI/SUS here, but POSIX) then the following behavior is buggy:
Doing the following:

export TZ=CAT0
cat > daytime.c <<EOF
#include <stdio.h>
#include <time.h>

int main(void)
{
        tzset();
        printf("tzname[0]: %s\n", tzname[0]);
        printf("tzname[1]: %s\n", tzname[1]);
        /*
        printf("daylight: %d\n", daylight);
        printf("timezone: %ld\n", timezone);
        */
}
EOF
cc daytime.c
./a.out

The following is the output on my system:

tzname[0]: EST
tzname[1]:    

nota bene: the second one isn't null/blank/empty, it's three spaces.
This is incorrect, as CAT0 is a valid value of TZ.  If we set it to CAT0DOG0
instead, the output changes dramatically:

tzname[0]: CAT
tzname[1]: DOG

This is the expected output for when TZ is CAT0DOG0.
Back to TZ just being CAT0, a friend using GNU/Linux was able to show me the
output there:

tzname[0]: CAT
tzname[1]: CAT

If I read POSIX correctly, GNU's implementation and output are correct here. 
This is the output I expect.

I found OpenBSD's output was also buggy, in a different way:

tzname[0]:    
tzname[1]:    

(similar note: neither of those are null/empty, they're three spaces)

I already sent OpenBSD a bug report.

References:
https://www.freebsd.org/cgi/man.cgi?query=ctime&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html
https://pubs.opengroup.org/onlinepubs/9699919799/functions/tzset.html

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-standards mailing list