summaryrefslogtreecommitdiffstats
path: root/generic/tclDate.h
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2024-03-12 02:05:58 (GMT)
committersebres <sebres@users.sourceforge.net>2024-03-12 02:05:58 (GMT)
commitbbb594048998c37ffff17a30ac1ababd1be5c9bf (patch)
tree318aef73b9c9ecb2df948ee255fd5693b2f03fa3 /generic/tclDate.h
parent8be2c4bdbc2d3f24ea0670b493d2f637aae11441 (diff)
parent1310cb5ded14e54448035cf0df34fc46782aaa47 (diff)
downloadtcl-bbb594048998c37ffff17a30ac1ababd1be5c9bf.zip
tcl-bbb594048998c37ffff17a30ac1ababd1be5c9bf.tar.gz
tcl-bbb594048998c37ffff17a30ac1ababd1be5c9bf.tar.bz2
merge sebres-8-6-clock-speedup-cr2
Diffstat (limited to 'generic/tclDate.h')
-rw-r--r--generic/tclDate.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/generic/tclDate.h b/generic/tclDate.h
index 5033018..3544dee 100644
--- a/generic/tclDate.h
+++ b/generic/tclDate.h
@@ -148,6 +148,8 @@ typedef enum ClockMsgCtLiteral {
* Structure containing the fields used in [clock format] and [clock scan]
*/
+#define CLF_CTZ (1 << 4)
+
typedef struct TclDateFields {
/* Cacheable fields: */
@@ -170,8 +172,10 @@ typedef struct TclDateFields {
int dayOfWeek; /* Day of the week */
int hour; /* Hours of day (in-between time only calculation) */
int minutes; /* Minutes of hour (in-between time only calculation) */
- int secondOfMin; /* Seconds of minute (in-between time only calculation) */
- int secondOfDay; /* Seconds of day (in-between time only calculation) */
+ Tcl_WideInt secondOfMin; /* Seconds of minute (in-between time only calculation) */
+ Tcl_WideInt secondOfDay; /* Seconds of day (in-between time only calculation) */
+
+ int flags; /* 0 or CLF_CTZ */
/* Non cacheable fields: */
@@ -209,16 +213,16 @@ typedef struct DateInfo {
int dateTimezone;
int dateDSTmode;
- int dateRelMonth;
- int dateRelDay;
- int dateRelSeconds;
+ Tcl_WideInt dateRelMonth;
+ Tcl_WideInt dateRelDay;
+ Tcl_WideInt dateRelSeconds;
int dateMonthOrdinalIncr;
int dateMonthOrdinal;
int dateDayOrdinal;
- int *dateRelPointer;
+ Tcl_WideInt *dateRelPointer;
int dateSpaceCount;
int dateDigitCount;
@@ -538,6 +542,10 @@ MODULE_SCOPE int ClockMCSetIdx(ClockFmtScnCmdArgs *opts, int mcKey,
/* tclClockFmt.c module declarations */
+
+MODULE_SCOPE char *
+ TclItoAw(char *buf, int val, char padchar, unsigned short int width);
+
MODULE_SCOPE Tcl_Obj*
ClockFrmObjGetLocFmtKey(Tcl_Interp *interp,
Tcl_Obj *objPtr);