Index: generic/nsfProfile.c =================================================================== diff -u -N -rdc4e227d31df104be7df072ee78f2779ff387b9e -r1d1ca561af5942718e613929b36e5d2419e4fe5a --- generic/nsfProfile.c (.../nsfProfile.c) (revision dc4e227d31df104be7df072ee78f2779ff387b9e) +++ generic/nsfProfile.c (.../nsfProfile.c) (revision 1d1ca561af5942718e613929b36e5d2419e4fe5a) @@ -291,7 +291,7 @@ } else { value = (NsfProfileData *)Tcl_GetHashValue (hPtr); } - value->microSec += totalMicroSec; + value->microSec += (long)totalMicroSec; value->count ++; } @@ -625,7 +625,7 @@ struct Tcl_Time trt; Tcl_GetTime(&trt); - totalMicroSec = (trt.sec - callTime->sec) * 1000000 + (trt.usec - callTime->usec); + totalMicroSec = (double)((trt.sec - callTime->sec) * 1000000 + (trt.usec - callTime->usec)); Tcl_DStringInit(&ds); NsfProfileObjectLabel(&ds, object); @@ -679,8 +679,8 @@ rst = RUNTIME_STATE(interp); profilePtr = &rst->profile; - totalMicroSec = (trt.sec - cscPtr->startSec) * 1000000 + (trt.usec - cscPtr->startUsec); - profilePtr->overallTime += totalMicroSec; + totalMicroSec = (double)((trt.sec - cscPtr->startSec) * 1000000 + (trt.usec - cscPtr->startUsec)); + profilePtr->overallTime += (long)totalMicroSec; obj = cscPtr->self; if (obj->teardown == 0 || !obj->id) { @@ -766,8 +766,8 @@ Tcl_GetTime(&trt); - totalMicroSec = (trt.sec - startSec) * 1000000 + (trt.usec - startUsec); - profilePtr->overallTime += totalMicroSec; + totalMicroSec = (double)((trt.sec - startSec) * 1000000 + (trt.usec - startUsec)); + profilePtr->overallTime += (long)totalMicroSec; if (rst->doTrace) { NsfProfileTraceExitAppend(interp, methodName, totalMicroSec); @@ -878,8 +878,8 @@ Tcl_Obj *subList = Tcl_NewListObj(0, NULL); Tcl_ListObjAppendElement(interp, subList, Tcl_NewStringObj(key, -1)); - Tcl_ListObjAppendElement(interp, subList, Tcl_NewIntObj(value->microSec)); - Tcl_ListObjAppendElement(interp, subList, Tcl_NewIntObj(value->count)); + Tcl_ListObjAppendElement(interp, subList, Tcl_NewLongObj(value->microSec)); + Tcl_ListObjAppendElement(interp, subList, Tcl_NewLongObj(value->count)); Tcl_ListObjAppendElement(interp, list, subList); } return list; @@ -915,8 +915,8 @@ Tcl_GetTime(&trt); totalMicroSec = (trt.sec - profilePtr->startSec) * 1000000 + (trt.usec - profilePtr->startUSec); - Tcl_ListObjAppendElement(interp, list, Tcl_NewIntObj(totalMicroSec)); - Tcl_ListObjAppendElement(interp, list, Tcl_NewIntObj(profilePtr->overallTime)); + Tcl_ListObjAppendElement(interp, list, Tcl_NewLongObj((long)totalMicroSec)); + Tcl_ListObjAppendElement(interp, list, Tcl_NewLongObj(profilePtr->overallTime)); Tcl_ListObjAppendElement(interp, list, NsfProfileGetTable(interp, &profilePtr->objectData)); Tcl_ListObjAppendElement(interp, list, NsfProfileGetTable(interp, &profilePtr->methodData)); Tcl_ListObjAppendElement(interp, list, NsfProfileGetTable(interp, &profilePtr->procData));