summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tk.decls2
-rw-r--r--generic/tkDecls.h5
-rw-r--r--generic/tkInt.h4
-rw-r--r--generic/tkStyle.c18
-rw-r--r--generic/tkText.h2
5 files changed, 17 insertions, 14 deletions
diff --git a/generic/tk.decls b/generic/tk.decls
index 8ce0ad5..1075977 100644
--- a/generic/tk.decls
+++ b/generic/tk.decls
@@ -996,7 +996,7 @@ declare 259 {
void Tk_FreeStyleFromObj(Tcl_Obj *objPtr)
}
declare 260 {
- Tk_StyledElement Tk_GetStyledElement(Tk_Style style, int elementId,
+ Tk_StyledElement Tk_GetStyledElement(Tk_Style style, Tcl_Size elementId,
Tk_OptionTable optionTable)
}
declare 261 {
diff --git a/generic/tkDecls.h b/generic/tkDecls.h
index 70726ac..706d91a 100644
--- a/generic/tkDecls.h
+++ b/generic/tkDecls.h
@@ -826,7 +826,8 @@ EXTERN Tk_Style Tk_GetStyleFromObj(Tcl_Obj *objPtr);
/* 259 */
EXTERN void Tk_FreeStyleFromObj(Tcl_Obj *objPtr);
/* 260 */
-EXTERN Tk_StyledElement Tk_GetStyledElement(Tk_Style style, int elementId,
+EXTERN Tk_StyledElement Tk_GetStyledElement(Tk_Style style,
+ Tcl_Size elementId,
Tk_OptionTable optionTable);
/* 261 */
EXTERN void Tk_GetElementSize(Tk_Style style,
@@ -1196,7 +1197,7 @@ typedef struct TkStubs {
Tk_Style (*tk_AllocStyleFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 257 */
Tk_Style (*tk_GetStyleFromObj) (Tcl_Obj *objPtr); /* 258 */
void (*tk_FreeStyleFromObj) (Tcl_Obj *objPtr); /* 259 */
- Tk_StyledElement (*tk_GetStyledElement) (Tk_Style style, int elementId, Tk_OptionTable optionTable); /* 260 */
+ Tk_StyledElement (*tk_GetStyledElement) (Tk_Style style, Tcl_Size elementId, Tk_OptionTable optionTable); /* 260 */
void (*tk_GetElementSize) (Tk_Style style, Tk_StyledElement element, void *recordPtr, Tk_Window tkwin, int width, int height, int inner, int *widthPtr, int *heightPtr); /* 261 */
void (*tk_GetElementBox) (Tk_Style style, Tk_StyledElement element, void *recordPtr, Tk_Window tkwin, int x, int y, int width, int height, int inner, int *xPtr, int *yPtr, int *widthPtr, int *heightPtr); /* 262 */
int (*tk_GetElementBorderWidth) (Tk_Style style, Tk_StyledElement element, void *recordPtr, Tk_Window tkwin); /* 263 */
diff --git a/generic/tkInt.h b/generic/tkInt.h
index 662bab5..052ed4e 100644
--- a/generic/tkInt.h
+++ b/generic/tkInt.h
@@ -80,7 +80,9 @@
# define Tcl_UtfToChar16DString Tcl_UtfToUniCharDString
#endif
-#if defined(__GNUC__) && (__GNUC__ > 2)
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+# define TKFLEXARRAY
+#elif defined(__GNUC__) && (__GNUC__ > 2)
# define TKFLEXARRAY 0
#else
# define TKFLEXARRAY 1
diff --git a/generic/tkStyle.c b/generic/tkStyle.c
index 418f74f..2da67ae 100644
--- a/generic/tkStyle.c
+++ b/generic/tkStyle.c
@@ -99,7 +99,7 @@ typedef struct Element {
*/
typedef struct {
- int nbInit; /* Number of calls to the init proc. */
+ size_t nbInit; /* Number of calls to the init proc. */
Tcl_HashTable engineTable; /* Map a name to a style engine. Keys are
* strings, values are Tk_StyleEngine
* pointers. */
@@ -108,7 +108,7 @@ typedef struct {
* fallback for all engines. */
Tcl_HashTable styleTable; /* Map a name to a style. Keys are strings,
* values are Tk_Style pointers.*/
- int nbElements; /* Size of the below tables. */
+ Tcl_Size nbElements; /* Size of the below tables. */
Tcl_HashTable elementTable; /* Map a name to an element Id. Keys are
* strings, values are integer element IDs. */
Element *elements; /* Array of Elements. */
@@ -129,7 +129,7 @@ static void FreeStyleEngine(StyleEngine *enginePtr);
static void FreeStyleObjProc(Tcl_Obj *objPtr);
static void FreeWidgetSpec(StyledWidgetSpec *widgetSpecPtr);
static StyledElement * GetStyledElement(StyleEngine *enginePtr,
- int elementId);
+ Tcl_Size elementId);
static StyledWidgetSpec*GetWidgetSpec(StyledElement *elementPtr,
Tk_OptionTable optionTable);
static void InitElement(Element *elementPtr, const char *name,
@@ -240,7 +240,7 @@ TkStylePkgFree(
Tcl_HashSearch search;
Tcl_HashEntry *entryPtr;
StyleEngine *enginePtr;
- int i;
+ Tcl_Size i;
tsdPtr->nbInit--;
if (tsdPtr->nbInit != 0) {
@@ -366,7 +366,7 @@ InitStyleEngine(
{
ThreadSpecificData *tsdPtr = (ThreadSpecificData *)
Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
- int elementId;
+ Tcl_Size elementId;
if (name == NULL || *name == '\0') {
/*
@@ -421,7 +421,7 @@ FreeStyleEngine(
{
ThreadSpecificData *tsdPtr = (ThreadSpecificData *)
Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
- int elementId;
+ Tcl_Size elementId;
/*
* Free allocated elements.
@@ -841,7 +841,7 @@ static StyledElement *
GetStyledElement(
StyleEngine *enginePtr, /* Style engine providing the implementation.
* NULL means the default system engine. */
- int elementId) /* Unique element ID */
+ Tcl_Size elementId) /* Unique element ID */
{
StyledElement *elementPtr;
ThreadSpecificData *tsdPtr = (ThreadSpecificData *)
@@ -852,7 +852,7 @@ GetStyledElement(
enginePtr = tsdPtr->defaultEnginePtr;
}
- while (elementId >= 0 && elementId < tsdPtr->nbElements) {
+ while (elementId != TCL_INDEX_NONE && elementId < tsdPtr->nbElements) {
/*
* Look for an implemented element through the engine chain.
*/
@@ -1035,7 +1035,7 @@ GetWidgetSpec(
Tk_StyledElement
Tk_GetStyledElement(
Tk_Style style, /* The widget style. */
- int elementId, /* Unique element ID. */
+ Tcl_Size elementId, /* Unique element ID. */
Tk_OptionTable optionTable) /* Option table for the widget. */
{
Style *stylePtr = (Style *) style;
diff --git a/generic/tkText.h b/generic/tkText.h
index 877d991..1368208 100644
--- a/generic/tkText.h
+++ b/generic/tkText.h
@@ -168,7 +168,7 @@ typedef struct TkTextSegment {
Tcl_Size size; /* Size of this segment (# of bytes of index
* space it occupies). */
union {
- char chars[TKFLEXARRAY]; /* Characters that make up character info.
+ char chars[1]; /* Characters that make up character info.
* Actual length varies to hold as many
* characters as needed.*/
TkTextToggle toggle; /* Information about tag toggle. */