Fix compiler warning: incompatible pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-pointer-types] Upstream-Status: Pending (Tktable is dormant) Index: generic/tkTable.h ================================================================== --- generic/tkTable.h +++ generic/tkTable.h @@ -32,16 +32,19 @@ #if (TCL_MAJOR_VERSION > 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4)) # define HAVE_TCL84 #endif /* - * Tcl/Tk 8.4 introduced better CONST-ness in the APIs, but we use CONST84 in + * Tcl/Tk 8.4 and 8.6 introduced better CONST-ness in the APIs, but we use CONST84/CONST86 in * some cases for compatibility with earlier Tcl headers to prevent warnings. */ #ifndef CONST84 # define CONST84 #endif +#ifndef CONST86 +# define CONST86 CONST84 +#endif /* This EXTERN declaration is needed for Tcl < 8.0.3 */ #ifndef EXTERN # ifdef __cplusplus # define EXTERN extern "C" @@ -517,20 +520,20 @@ extern void Table_ClearHashTable(Tcl_HashTable *hashTblPtr); extern int TableOptionBdSet(ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, CONST84 char *value, char *widgRec, int offset); -extern char * TableOptionBdGet(ClientData clientData, +extern CONST86 char * TableOptionBdGet(ClientData clientData, Tk_Window tkwin, char *widgRec, int offset, Tcl_FreeProc **freeProcPtr); extern int TableTagConfigureBd(Table *tablePtr, TableTag *tagPtr, char *oldValue, int nullOK); extern int Cmd_OptionSet(ClientData clientData, Tcl_Interp *interp, Tk_Window unused, CONST84 char *value, char *widgRec, int offset); -extern char * Cmd_OptionGet(ClientData clientData, +extern CONST86 char * Cmd_OptionGet(ClientData clientData, Tk_Window unused, char *widgRec, int offset, Tcl_FreeProc **freeProcPtr); /* * HEADERS IN tkTableCell.c Index: generic/tkTableTag.c ================================================================== --- generic/tkTableTag.c +++ generic/tkTableTag.c @@ -20,11 +20,11 @@ static void TableImageProc _ANSI_ARGS_((ClientData clientData, int x, int y, int width, int height, int imageWidth, int imageHeight)); static int TableOptionReliefSet _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, CONST84 char *value, char *widgRec, int offset)); -static char * TableOptionReliefGet _ANSI_ARGS_((ClientData clientData, +static CONST86 char * TableOptionReliefGet _ANSI_ARGS_((ClientData clientData, Tk_Window tkwin, char *widgRec, int offset, Tcl_FreeProc **freeProcPtr)); static CONST84 char *tagCmdNames[] = { "celltag", "cget", "coltag", "configure", "delete", "exists", @@ -1338,11 +1338,11 @@ * None. * *---------------------------------------------------------------------- */ -static char * +static CONST86 char * TableOptionReliefGet(clientData, tkwin, widgRec, offset, freeProcPtr) ClientData clientData; /* Type of struct being set. */ Tk_Window tkwin; /* Window containing canvas widget. */ char *widgRec; /* Pointer to record for item. */ int offset; /* Offset into item. */ Index: generic/tkTableUtil.c ================================================================== --- generic/tkTableUtil.c +++ generic/tkTableUtil.c @@ -167,11 +167,11 @@ * None. * *---------------------------------------------------------------------- */ -char * +CONST86 char * TableOptionBdGet(clientData, tkwin, widgRec, offset, freeProcPtr) ClientData clientData; /* Type of struct being set. */ Tk_Window tkwin; /* Window containing canvas widget. */ char *widgRec; /* Pointer to record for item. */ int offset; /* Offset into item. */ @@ -327,11 +327,11 @@ * None. * *---------------------------------------------------------------------- */ -char * +CONST86 char * Cmd_OptionGet(ClientData clientData, Tk_Window unused, char *widgRec, int offset, Tcl_FreeProc **freeProcPtr) { Cmd_Struct *p = (Cmd_Struct *)clientData; int mode = *((int*)(widgRec+offset)); Index: generic/tkTableWin.c ================================================================== --- generic/tkTableWin.c +++ generic/tkTableWin.c @@ -15,11 +15,11 @@ #include "tkTable.h" static int StickyParseProc _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, CONST84 char *value, char *widgRec, int offset)); -static char * StickyPrintProc _ANSI_ARGS_((ClientData clientData, +static CONST86 char * StickyPrintProc _ANSI_ARGS_((ClientData clientData, Tk_Window tkwin, char *widgRec, int offset, Tcl_FreeProc **freeProcPtr)); static void EmbWinLostSlaveProc _ANSI_ARGS_((ClientData clientData, Tk_Window tkwin)); @@ -115,11 +115,11 @@ * Side effects: * none. * *---------------------------------------------------------------------- */ -static char * +static CONST86 char * StickyPrintProc(clientData, tkwin, widgRec, offset, freeProcPtr) ClientData clientData; /* Ignored. */ Tk_Window tkwin; /* Window for text widget. */ char *widgRec; /* Pointer to TkTextEmbWindow * structure. */