Subject: Fix some gcc warnings which become visible with -Wextra

From: "jan.nijtmans" <[email-masked]>
Date: Thu, 13 Jun 2013 07:13:09 +0000

---
 generic/tclIOCmd.c      | 34 +++++++++++++++++-----------------
 generic/tclThreadTest.c | 22 +++++++++++-----------
 2 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/generic/tclIOCmd.c b/generic/tclIOCmd.c
index 21dcd71..2958bc8 100644
--- a/generic/tclIOCmd.c
+++ b/generic/tclIOCmd.c
@@ -1823,24 +1823,24 @@ TclInitChanCmd(
      * function at the moment.
      */
     static const EnsembleImplMap initMap[] = {
-	{"blocked",	Tcl_FblockedObjCmd},
-	{"close",	Tcl_CloseObjCmd},
-	{"copy",	Tcl_FcopyObjCmd},
-	{"create",	TclChanCreateObjCmd},		/* TIP #219 */
-	{"eof",		Tcl_EofObjCmd},
-	{"event",	Tcl_FileEventObjCmd},
-	{"flush",	Tcl_FlushObjCmd},
-	{"gets",	Tcl_GetsObjCmd},
-	{"pending",	ChanPendingObjCmd},		/* TIP #287 */
-	{"postevent",	TclChanPostEventObjCmd},	/* TIP #219 */
-	{"puts",	Tcl_PutsObjCmd},
-	{"read",	Tcl_ReadObjCmd},
-	{"seek",	Tcl_SeekObjCmd},
-	{"tell",	Tcl_TellObjCmd},
-	{"truncate",	ChanTruncateObjCmd},		/* TIP #208 */
-	{NULL}
+	{"blocked",	Tcl_FblockedObjCmd, NULL},
+	{"close",	Tcl_CloseObjCmd, NULL},
+	{"copy",	Tcl_FcopyObjCmd, NULL},
+	{"create",	TclChanCreateObjCmd, NULL},		/* TIP #219 */
+	{"eof",		Tcl_EofObjCmd, NULL},
+	{"event",	Tcl_FileEventObjCmd, NULL},
+	{"flush",	Tcl_FlushObjCmd, NULL},
+	{"gets",	Tcl_GetsObjCmd, NULL},
+	{"pending",	ChanPendingObjCmd, NULL},		/* TIP #287 */
+	{"postevent",	TclChanPostEventObjCmd, NULL},	/* TIP #219 */
+	{"puts",	Tcl_PutsObjCmd, NULL},
+	{"read",	Tcl_ReadObjCmd, NULL},
+	{"seek",	Tcl_SeekObjCmd, NULL},
+	{"tell",	Tcl_TellObjCmd, NULL},
+	{"truncate",	ChanTruncateObjCmd, NULL},		/* TIP #208 */
+	{NULL,NULL, NULL}
     };
-    static const char *extras[] = {
+    static const char *const extras[] = {
 	"configure",	"::fconfigure",
 	"names",	"::file channels",
 	NULL
diff --git a/generic/tclThreadTest.c b/generic/tclThreadTest.c
index d032cc6..f899779 100644
--- a/generic/tclThreadTest.c
+++ b/generic/tclThreadTest.c
@@ -292,7 +292,7 @@ Tcl_ThreadObjCmd(
 	return TCL_OK;
     case THREAD_ID:
 	if (objc == 2) {
-	    Tcl_Obj *idObj = Tcl_NewLongObj((long) Tcl_GetCurrentThread());
+	    Tcl_Obj *idObj = Tcl_NewWideIntObj((Tcl_WideInt)(size_t) Tcl_GetCurrentThread());
 
 	    Tcl_SetObjResult(interp, idObj);
 	    return TCL_OK;
@@ -301,24 +301,24 @@ Tcl_ThreadObjCmd(
 	    return TCL_ERROR;
 	}
     case THREAD_JOIN: {
-	long id;
+	Tcl_WideInt id;
 	int result, status;
 
 	if (objc != 3) {
 	    Tcl_WrongNumArgs(interp, 2, objv, "id");
 	    return TCL_ERROR;
 	}
-	if (Tcl_GetLongFromObj(interp, objv[2], &id) != TCL_OK) {
+	if (Tcl_GetWideIntFromObj(interp, objv[2], &id) != TCL_OK) {
 	    return TCL_ERROR;
 	}
 
-	result = Tcl_JoinThread ((Tcl_ThreadId) id, &status);
+	result = Tcl_JoinThread ((Tcl_ThreadId)(size_t)id, &status);
 	if (result == TCL_OK) {
 	    Tcl_SetIntObj (Tcl_GetObjResult (interp), status);
 	} else {
 	    char buf [20];
 
-	    sprintf(buf, "%ld", id);
+	    sprintf(buf, "%" TCL_LL_MODIFIER "d", id);
 	    Tcl_AppendResult(interp, "cannot join thread ", buf, NULL);
 	}
 	return result;
@@ -330,7 +330,7 @@ Tcl_ThreadObjCmd(
 	}
 	return TclThreadList(interp);
     case THREAD_SEND: {
-	long id;
+	Tcl_WideInt id;
 	const char *script;
 	int wait, arg;
 
@@ -349,12 +349,12 @@ Tcl_ThreadObjCmd(
 	    wait = 1;
 	    arg = 2;
 	}
-	if (Tcl_GetLongFromObj(interp, objv[arg], &id) != TCL_OK) {
+	if (Tcl_GetWideIntFromObj(interp, objv[arg], &id) != TCL_OK) {
 	    return TCL_ERROR;
 	}
 	arg++;
 	script = Tcl_GetString(objv[arg]);
-	return TclThreadSend(interp, (Tcl_ThreadId) id, script, wait);
+	return TclThreadSend(interp, (Tcl_ThreadId)(size_t)id, script, wait);
     }
     case THREAD_ERRORPROC: {
 	/*
@@ -434,7 +434,7 @@ TclCreateThread(
     Tcl_ConditionWait(&ctrl.condWait, &threadMutex, NULL);
     Tcl_MutexUnlock(&threadMutex);
     Tcl_ConditionFinalize(&ctrl.condWait);
-    Tcl_SetObjResult(interp, Tcl_NewLongObj((long)id));
+    Tcl_SetObjResult(interp, Tcl_NewWideIntObj((Tcl_WideInt)(size_t)id));
     return TCL_OK;
 }
 
@@ -560,7 +560,7 @@ ThreadErrorProc(
     const char *errorInfo, *argv[3];
     char *script;
     char buf[TCL_DOUBLE_SPACE+1];
-    sprintf(buf, "%ld", (long) Tcl_GetCurrentThread());
+    sprintf(buf, "%" TCL_LL_MODIFIER "d", (Tcl_WideInt)(size_t)Tcl_GetCurrentThread());
 
     errorInfo = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY);
     if (errorProcString == NULL) {
@@ -677,7 +677,7 @@ TclThreadList(
     Tcl_MutexLock(&threadMutex);
     for (tsdPtr = threadList ; tsdPtr ; tsdPtr = tsdPtr->nextPtr) {
 	Tcl_ListObjAppendElement(interp, listPtr,
-		Tcl_NewLongObj((long) tsdPtr->threadId));
+		Tcl_NewWideIntObj((Tcl_WideInt)(size_t)tsdPtr->threadId));
     }
     Tcl_MutexUnlock(&threadMutex);
     Tcl_SetObjResult(interp, listPtr);
-- 
cgit v0.12