From 79bdb822ff78858fd0f4064fdd902ab472562f8e Mon Sep 17 00:00:00 2001 From: hobbs Date: Wed, 1 Dec 1999 00:08:36 +0000 Subject: * win/tclWinTime.c: fixed handling of %Z on NT for time zones that don't have DST. --- unix/tclUnixPipe.c | 3 +-- win/tclWinTime.c | 15 +++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/unix/tclUnixPipe.c b/unix/tclUnixPipe.c index 238801e..3db9228 100644 --- a/unix/tclUnixPipe.c +++ b/unix/tclUnixPipe.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUnixPipe.c,v 1.5 1999/11/30 08:37:15 hobbs Exp $ + * RCS: @(#) $Id: tclUnixPipe.c,v 1.6 1999/12/01 00:08:36 hobbs Exp $ */ #include "tclInt.h" @@ -776,7 +776,6 @@ PipeBlockModeProc(instanceData, mode) if (fcntl(fd, F_SETFL, curStatus) < 0) { return errno; } - curStatus = fcntl(fd, F_GETFL); } if (psPtr->outFile) { fd = GetFd(psPtr->outFile); diff --git a/win/tclWinTime.c b/win/tclWinTime.c index de0e3dd..db2affd 100644 --- a/win/tclWinTime.c +++ b/win/tclWinTime.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinTime.c,v 1.4 1999/04/16 00:48:10 stanton Exp $ + * RCS: @(#) $Id: tclWinTime.c,v 1.5 1999/12/01 00:08:43 hobbs Exp $ */ #include "tclWinInt.h" @@ -219,17 +219,20 @@ TclpGetTZName(int dst) Tcl_ExternalToUtf(NULL, NULL, zone, len, 0, NULL, name, sizeof(tsdPtr->tzName), NULL, NULL, NULL); } - if ((name[0] == '\0') - && (GetTimeZoneInformation(&tz) != TIME_ZONE_ID_UNKNOWN)) { + if (name[0] == '\0') { + if (GetTimeZoneInformation(&tz) == TIME_ZONE_ID_UNKNOWN) { + /* + * MSDN: On NT this is returned if DST is not used in + * the current TZ + */ + dst = 0; + } encoding = Tcl_GetEncoding(NULL, "unicode"); Tcl_ExternalToUtf(NULL, encoding, (char *) ((dst) ? tz.DaylightName : tz.StandardName), -1, 0, NULL, name, sizeof(tsdPtr->tzName), NULL, NULL, NULL); Tcl_FreeEncoding(encoding); } - if (name[0] == '\0') { - return "%Z"; - } return name; } -- cgit v0.12