head	1.2;
access;
symbols
	RELEASE_8_3_0:1.1
	RELEASE_9_0_0:1.1
	RELEASE_7_4_0:1.1
	RELEASE_8_2_0:1.1
	RELEASE_6_EOL:1.1
	RELEASE_8_1_0:1.1;
locks; strict;
comment	@# @;


1.2
date	2012.09.18.10.47.02;	author gahr;	state Exp;
branches;
next	1.1;

1.1
date	2010.06.12.03.57.42;	author mi;	state Exp;
branches;
next	;


desc
@@


1.2
log
@SVN rev 304441 on 2012-09-18 10:47:02Z by gahr

- Fix build against Tcl 8.6

PR:		171208
Submitted by:	gahr
Approved by:	maintainer (timeout > 15 days)
@
text
@--- generic/itcl_bicmds.c	2008-10-04 11:22:39.000000000 -0400
+++ generic/itcl_bicmds.c	2010-01-24 14:39:45.000000000 -0500
@@@@ -1022,5 +1022,5 @@@@
     Tcl_Obj *objPtr = NULL;
 
-    static char *options[] = {
+    static const char *options[] = {
         "-args", "-body", "-name", "-protection", "-type",
         (char*)NULL
@@@@ -1213,9 +1213,9 @@@@
     Tcl_Obj *CONST objv[];   /* argument objects */
 {
-    char *varName = NULL;
+    const char *varName = NULL;
     Tcl_Obj *resultPtr = NULL;
     Tcl_Obj *objPtr = NULL;
 
-    static char *options[] = {
+    static const char *options[] = {
         "-config", "-init", "-name", "-protection", "-type",
         "-value", (char*)NULL
--- generic/itcl_cmds.c	2008-12-15 15:02:58.000000000 -0500
+++ generic/itcl_cmds.c	2010-01-24 14:41:33.000000000 -0500
@@@@ -30,4 +30,5 @@@@
  */
 #include "itclInt.h"
+#include <stdint.h>
 
 /*
@@@@ -883,5 +884,5 @@@@
     Tcl_Obj *CONST objv[];   /* argument objects */
 {
-    int pLevel = (int)clientData;
+    int pLevel = (intptr_t)clientData;
 
     int result;
--- generic/itcl_ensemble.c	2008-12-15 15:02:58.000000000 -0500
+++ generic/itcl_ensemble.c	2010-01-24 14:47:49.000000000 -0500
@@@@ -103,5 +103,5 @@@@
 
 static int CreateEnsemble _ANSI_ARGS_((Tcl_Interp *interp,
-    Ensemble *parentEnsData, char *ensName));
+    Ensemble *parentEnsData, const char *ensName));
 
 static int AddEnsemblePart _ANSI_ARGS_((Tcl_Interp *interp,
@@@@ -112,5 +112,5 @@@@
 static void DeleteEnsemble _ANSI_ARGS_((ClientData clientData));
 
-static int FindEnsemble _ANSI_ARGS_((Tcl_Interp *interp, char **nameArgv,
+static int FindEnsemble _ANSI_ARGS_((Tcl_Interp *interp, const char **nameArgv,
     int nameArgc, Ensemble** ensDataPtr));
 
@@@@ -212,5 +212,5 @@@@
     CONST char* ensName;           /* name of the new ensemble */
 {
-    char **nameArgv = NULL;
+    const char **nameArgv = NULL;
     int nameArgc;
     Ensemble *parentEnsData;
@@@@ -319,5 +319,5 @@@@
     Tcl_CmdDeleteProc *deleteProc; /* procedure used to destroy client data */
 {
-    char **nameArgv = NULL;
+    const char **nameArgv = NULL;
     int nameArgc;
     Ensemble *ensData;
@@@@ -396,5 +396,5 @@@@
     Tcl_CmdInfo *infoPtr;          /* returns: info associated with part */
 {
-    char **nameArgv = NULL;
+    const char **nameArgv = NULL;
     int nameArgc;
     Ensemble *ensData;
@@@@ -508,5 +508,5 @@@@
     Tcl_Obj *objPtr;       /* returns: summary of usage info */
 {
-    char **nameArgv = NULL;
+    const char **nameArgv = NULL;
     int nameArgc;
     Ensemble *ensData;
@@@@ -752,5 +752,5 @@@@
     Tcl_Interp *interp;            /* interpreter to be updated */
     Ensemble *parentEnsData;       /* parent ensemble or NULL */
-    char *ensName;                 /* name of the new ensemble */
+    const char *ensName;           /* name of the new ensemble */
 {
     Ensemble *ensData;
@@@@ -957,5 +957,5 @@@@
 FindEnsemble(interp, nameArgv, nameArgc, ensDataPtr)
     Tcl_Interp *interp;            /* interpreter containing the ensemble */
-    char **nameArgv;               /* path of names leading to ensemble */
+    const char **nameArgv;         /* path of names leading to ensemble */
     int nameArgc;                  /* number of strings in nameArgv */
     Ensemble** ensDataPtr;         /* returns: ensemble data */
--- generic/itcl_methods.c	2008-12-15 15:02:58.000000000 -0500
+++ generic/itcl_methods.c	2010-01-24 14:50:55.000000000 -0500
@@@@ -981,6 +981,6 @@@@
     }
     else if ((mcode->flags & ITCL_IMPLEMENT_ARGCMD) != 0) {
-        char **argv;
-        argv = (char**)ckalloc( (unsigned)(objc*sizeof(char*)) );
+        const char *argv[objc];
+
         for (i=0; i < objc; i++) {
             argv[i] = Tcl_GetStringFromObj(objv[i], (int*)NULL);
@@@@ -989,6 +989,4 @@@@
         result = (*mcode->cfunc.argCmd)(mcode->clientData,
             interp, objc, argv);
-
-        ckfree((char*)argv);
     }
     else if ((mcode->flags & ITCL_IMPLEMENT_TCL) != 0) {
@@@@ -1050,5 +1048,5 @@@@
 
     int i, argc, fargc;
-    char **argv, **fargv;
+    const char **argv, **fargv;
     CompiledLocal *localPtr, *last;
 
@@@@ -1825,5 +1823,5 @@@@
 
     int defargc;
-    char **defargv = NULL;
+    const char **defargv = NULL;
     Tcl_Obj **defobjv = NULL;
     int configc = 0;
--- generic/itcl_objects.c	2007-08-07 16:05:30.000000000 -0400
+++ generic/itcl_objects.c	2010-01-24 14:52:10.000000000 -0500
@@@@ -1155,5 +1155,5 @@@@
 {
     int namec;
-    char **namev;
+    const char **namev;
     Tcl_Interp *errs;
     Tcl_CmdInfo cmdInfo;
--- generic/itcl_util.c	2007-08-07 16:05:30.000000000 -0400
+++ generic/itcl_util.c	2010-01-24 14:54:01.000000000 -0500
@@@@ -1274,5 +1274,5 @@@@
     CONST char *pos;
     int listc, result;
-    char **listv;
+    const char **listv;
 
     cmdName = ckalloc((unsigned)strlen(name)+1);
--- generic/itclInt.h.orig	2008-12-15 21:02:58.000000000 +0100
+++ generic/itclInt.h	2012-08-31 16:07:23.000000000 +0200
@@@@ -63,7 +63,7 @@@@
 #if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 6)
 #define ERRORLINE(interp) ((interp)->errorLine)
 #else
-#define ERRORLINE(interp) (Tcl_GetErrorLine(interp))
+#define ERRORLINE(interp) (Tcl_GetErrorLine((Tcl_Interp *)interp))
 #endif
 
 #define ITCL_TCL_PRE_8_5 (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 5)
@@@@ -206,7 +206,7 @@@@
     Tcl_HashEntry entry;
 } ItclVarInHash;
 
-#define ItclOffset(type, field) ((int) ((char *) &((type *) 0)->field))
+#define ItclOffset(type, field) ((intptr_t)((char *) &((type *) 0)->field))
 
 #define itclOldRuntime (itclVarFlagOffset!=0)
 
@


1.1
log
@Upgrade itcl to 3.4b1 -- the last version in the 3.x branch.

itk, interestingly, remains at 3.3-RC, so only minor changes
there.

Allow both to compile against Tcl-8.5. Both will now need to
be upgraded to branch 4.x -- a much more involved undertaking.

Approved by:	maintainer (in January)
@
text
@d145 13
a157 3
--- generic/itclInt.h	2008-12-15 15:02:58.000000000 -0500
+++ generic/itclInt.h	2010-01-24 15:15:06.000000000 -0500
@@@@ -207,5 +207,5 @@@@
d164 1
@

