From: <and...@us...> - 2011-12-01 20:27:24
|
Revision: 12084 http://plplot.svn.sourceforge.net/plplot/?rev=12084&view=rev Author: andrewross Date: 2011-12-01 20:27:18 +0000 (Thu, 01 Dec 2011) Log Message: ----------- Remove remaining direct access to Tcl interp->result. Modified Paths: -------------- trunk/bindings/tk/plframe.c trunk/bindings/tk/plserver.c trunk/bindings/tk/tkMain.c trunk/bindings/tk/tkshell.c trunk/bindings/tk-x-plat/plplotter.c trunk/drivers/tk.c Modified: trunk/bindings/tk/plframe.c =================================================================== --- trunk/bindings/tk/plframe.c 2011-12-01 20:26:02 UTC (rev 12083) +++ trunk/bindings/tk/plframe.c 2011-12-01 20:27:18 UTC (rev 12084) @@ -484,7 +484,7 @@ Tk_DestroyWindow( plFramePtr->tkwin ); return TCL_ERROR; } - interp->result = Tk_PathName( plFramePtr->tkwin ); + Tcl_SetResult( interp, Tk_PathName( plFramePtr->tkwin ), TCL_VOLATILE ); return TCL_OK; } @@ -515,6 +515,7 @@ int result = TCL_OK; int length; char c; + char res[20]; dbug_enter( "PlFrameWidgetCmd" ); @@ -616,7 +617,8 @@ { bcb.cmd = PLESC_DOUBLEBUFFERING_QUERY; pl_cmd( PLESC_DOUBLEBUFFERING, &bcb ); - sprintf( interp->result, "%d", bcb.result ); + snprintf( res, 20, "%d", bcb.result ); + Tcl_SetResult( interp, res, TCL_VOLATILE ); } } @@ -2676,7 +2678,7 @@ plr->at_bop = 0; if ( Tcl_Eval( interp, plFramePtr->bopCmd ) != TCL_OK ) fprintf( stderr, "Command \"%s\" failed:\n\t %s\n", - plFramePtr->bopCmd, interp->result ); + plFramePtr->bopCmd, Tcl_GetStringResult( interp ) ); } // Signal eop if necessary @@ -2686,7 +2688,7 @@ plr->at_eop = 0; if ( Tcl_Eval( interp, plFramePtr->eopCmd ) != TCL_OK ) fprintf( stderr, "Command \"%s\" failed:\n\t %s\n", - plFramePtr->eopCmd, interp->result ); + plFramePtr->eopCmd, Tcl_GetStringResult( interp ) ); } return result; @@ -3272,11 +3274,12 @@ int argc, const char **argv ) { PLFLT x, y; + char tmpstring[50]; // fprintf( stdout, "Made it into report, argc=%d\n", argc ); if ( argc == 0 ) { - interp->result = "report what?"; + Tcl_SetResult( interp, "report what?", TCL_STATIC ); return TCL_ERROR; } @@ -3287,7 +3290,7 @@ if ( argc != 3 ) { - interp->result = "Wrong # of args: report wc x y"; + Tcl_SetResult( interp, "Wrong # of args: report wc x y", TCL_STATIC ); return TCL_ERROR; } @@ -3301,15 +3304,16 @@ if ( plTranslateCursor( gin ) ) { - sprintf( interp->result, "%f %f", gin->wX, gin->wY ); + snprintf( tmpstring, 50, "%f %f", gin->wX, gin->wY ); + Tcl_SetResult( interp, tmpstring, TCL_VOLATILE ); return TCL_OK; } - interp->result = "Cannot locate"; + Tcl_SetResult( interp, "Cannot locate", TCL_STATIC ); return TCL_OK; } - interp->result = "nonsensical request."; + Tcl_SetResult( interp, "nonsensical request.", TCL_STATIC ); return TCL_ERROR; } @@ -3325,7 +3329,7 @@ if ( Tcl_Eval( plFramePtr->interp, plFramePtr->bopCmd ) != TCL_OK ) fprintf( stderr, "Command \"%s\" failed:\n\t %s\n", - plFramePtr->bopCmd, plFramePtr->interp->result ); + plFramePtr->bopCmd, Tcl_GetStringResult( plFramePtr->interp ) ); } //-------------------------------------------------------------------------- @@ -3340,7 +3344,7 @@ if ( Tcl_Eval( plFramePtr->interp, plFramePtr->eopCmd ) != TCL_OK ) fprintf( stderr, "Command \"%s\" failed:\n\t %s\n", - plFramePtr->eopCmd, plFramePtr->interp->result ); + plFramePtr->eopCmd, Tcl_GetStringResult( plFramePtr->interp ) ); } //-------------------------------------------------------------------------- Modified: trunk/bindings/tk/plserver.c =================================================================== --- trunk/bindings/tk/plserver.c 2011-12-01 20:26:02 UTC (rev 12083) +++ trunk/bindings/tk/plserver.c 2011-12-01 20:27:18 UTC (rev 12084) @@ -127,12 +127,11 @@ if ( Tk_ParseArgv( interp, (Tk_Window) NULL, &argc, argv, argTable, TK_ARGV_NO_DEFAULTS ) != TCL_OK ) { - fprintf( stderr, "\n(plserver) %s\n\n", interp->result ); + fprintf( stderr, "\n(plserver) %s\n\n", Tcl_GetStringResult( interp ) ); fprintf( stderr, "\ The client_<xxx> and -child options should not be used except via the\n\ PLplot/Tk driver.\n\n(wish) " ); - if ( strncmp( interp->result, helpmsg, strlen( helpmsg ) ) ) - exit( 1 ); + Tcl_SetResult( interp, helpmsg, TCL_VOLATILE ); } // No longer need interpreter @@ -254,13 +253,15 @@ static int plExitCmd( ClientData PL_UNUSED( clientData ), Tcl_Interp *interp, int argc, char **argv ) { - int value = 0; + int value = 0; + char *res; // Print error message if one given + + res = Tcl_GetStringResult( interp ); + if ( res[0] != '\0' ) + fprintf( stderr, "%s\n", res ); - if ( interp->result != NULL && interp->result[0] != '\0' ) - fprintf( stderr, "%s\n", interp->result ); - // Best to check the syntax before proceeding if ( ( argc != 1 ) && ( argc != 2 ) ) Modified: trunk/bindings/tk/tkMain.c =================================================================== --- trunk/bindings/tk/tkMain.c 2011-12-01 20:26:02 UTC (rev 12083) +++ trunk/bindings/tk/tkMain.c 2011-12-01 20:27:18 UTC (rev 12084) @@ -202,7 +202,7 @@ if ( Tk_ParseArgv( interp, (Tk_Window) NULL, &argc, argv, argTable, 0 ) != TCL_OK ) { - fprintf( stderr, "%s\n", interp->result ); + fprintf( stderr, "%s\n", Tcl_GetStringResult( interp ) ); exit( 1 ); } if ( name == NULL ) @@ -331,7 +331,7 @@ if ( ( *AppInit )( interp ) != TCL_OK ) { - fprintf( stderr, "(*AppInit) failed: %s\n", interp->result ); + fprintf( stderr, "(*AppInit) failed: %s\n", Tcl_GetStringResult( interp ) ); } // @@ -343,7 +343,7 @@ code = Tcl_VarEval( interp, "wm geometry . ", geometry, (char *) NULL ); if ( code != TCL_OK ) { - fprintf( stderr, "%s\n", interp->result ); + fprintf( stderr, "%s\n", Tcl_GetStringResult( interp ) ); } } @@ -393,7 +393,7 @@ fullName = Tcl_TildeSubst( interp, RcFileName, &buffer ); if ( fullName == NULL ) { - fprintf( stderr, "%s\n", interp->result ); + fprintf( stderr, "%s\n", Tcl_GetStringResult( interp ) ); } else { @@ -403,7 +403,7 @@ code = Tcl_EvalFile( interp, fullName ); if ( code != TCL_OK ) { - fprintf( stderr, "%s\n", interp->result ); + fprintf( stderr, "%s\n", Tcl_GetStringResult( interp ) ); } fclose( f ); } @@ -442,7 +442,7 @@ msg = Tcl_GetVar( interp, "errorInfo", TCL_GLOBAL_ONLY ); if ( msg == NULL ) { - msg = interp->result; + msg = Tcl_GetStringResult( interp ); } fprintf( stderr, "%s\n", msg ); Tcl_Eval( interp, errorExitCmd ); @@ -478,6 +478,7 @@ static int gotPartial = 0; char *cmd; int code, count; + const char *res; count = (int) read( fileno( stdin ), input, BUFFER_SIZE ); if ( count <= 0 ) @@ -533,11 +534,12 @@ Tk_CreateFileHandler( 0, TK_READABLE, StdinProc, (ClientData) 0 ); #endif Tcl_DStringFree( &command ); - if ( *interp->result != 0 ) + res = Tcl_GetStringResult( interp ); + if ( *res != 0 ) { if ( ( code != TCL_OK ) || ( tty ) ) { - printf( "%s\n", interp->result ); + printf( "%s\n", res ); } } Modified: trunk/bindings/tk/tkshell.c =================================================================== --- trunk/bindings/tk/tkshell.c 2011-12-01 20:26:02 UTC (rev 12083) +++ trunk/bindings/tk/tkshell.c 2011-12-01 20:27:18 UTC (rev 12084) @@ -115,7 +115,7 @@ if ( Tcl_ExprBoolean( interp, argv[1], &result ) ) { fprintf( stderr, "wait_until command \"%s\" failed:\n\t %s\n", - argv[1], interp->result ); + argv[1], Tcl_GetStringResult( interp ) ); break; } if ( result ) Modified: trunk/bindings/tk-x-plat/plplotter.c =================================================================== --- trunk/bindings/tk-x-plat/plplotter.c 2011-12-01 20:26:02 UTC (rev 12083) +++ trunk/bindings/tk-x-plat/plplotter.c 2011-12-01 20:27:18 UTC (rev 12084) @@ -463,7 +463,7 @@ PlPlotterFirstInit( (ClientData) plPlotterPtr ); Tk_GeometryRequest( plPlotterPtr->tkwin, 200, 200 ); - interp->result = Tk_PathName( plPlotterPtr->tkwin ); + Tcl_SetResult( interp, Tk_PathName( plPlotterPtr->tkwin ), TCL_VOLATILE ); return TCL_OK; } @@ -2475,7 +2475,7 @@ plr->at_bop = 0; if ( Tcl_Eval( interp, plPlotterPtr->bopCmd ) != TCL_OK ) fprintf( stderr, "Command \"%s\" failed:\n\t %s\n", - plPlotterPtr->bopCmd, interp->result ); + plPlotterPtr->bopCmd, Tcl_GetStringResult( interp ) ); } // Signal eop if necessary @@ -2485,7 +2485,7 @@ plr->at_eop = 0; if ( Tcl_Eval( interp, plPlotterPtr->eopCmd ) != TCL_OK ) fprintf( stderr, "Command \"%s\" failed:\n\t %s\n", - plPlotterPtr->eopCmd, interp->result ); + plPlotterPtr->eopCmd, Tcl_GetStringResult( interp ) ); } return result; @@ -2497,7 +2497,7 @@ { if ( Tcl_Eval( interp, plPlotterPtr->eopCmd ) != TCL_OK ) fprintf( stderr, "Command \"%s\" failed:\n\t %s\n", - plPlotterPtr->eopCmd, interp->result ); + plPlotterPtr->eopCmd, Tcl_GetStringResult( interp ) ); } } @@ -2507,7 +2507,7 @@ { if ( Tcl_Eval( interp, plPlotterPtr->bopCmd ) != TCL_OK ) fprintf( stderr, "Command \"%s\" failed:\n\t %s\n", - plPlotterPtr->bopCmd, interp->result ); + plPlotterPtr->bopCmd, Tcl_GetStringResult( interp ) ); } } @@ -2542,7 +2542,7 @@ { #endif Tcl_AppendResult( interp, "Packet receive failed:\n\t %s\n", - interp->result, (char *) NULL ); + Tcl_GetStringResult( interp ), (char *) NULL ); return TCL_ERROR; } @@ -3084,11 +3084,12 @@ int argc, CONST char **argv ) { PLFLT x, y; + char res[40]; // fprintf( stdout, "Made it into report, argc=%d\n", argc ); if ( argc == 0 ) { - interp->result = "report what?"; + Tcl_SetResult( interp, "report what?", TCL_STATIC ); return TCL_ERROR; } @@ -3099,7 +3100,7 @@ if ( argc != 3 ) { - interp->result = "Wrong # of args: report wc x y"; + Tcl_SetResult( interp, "Wrong # of args: report wc x y", TCL_STATIC ); return TCL_ERROR; } @@ -3113,15 +3114,16 @@ if ( plTranslateCursor( gin ) ) { - sprintf( interp->result, "%f %f", gin->wX, gin->wY ); + snprintf( res, 40, "%f %f", gin->wX, gin->wY ); + Tcl_SetResult( interp, res, TCL_VOLATILE ); return TCL_OK; } - interp->result = "Cannot locate"; + Tcl_SetResult( interp, "Cannot locate", TCL_STATIC ); return TCL_OK; } - interp->result = "nonsensical request."; + Tcl_SetResult( interp, "nonsensical request.", TCL_STATIC ); return TCL_ERROR; } Modified: trunk/drivers/tk.c =================================================================== --- trunk/drivers/tk.c 2011-12-01 20:26:02 UTC (rev 12083) +++ trunk/drivers/tk.c 2011-12-01 20:27:18 UTC (rev 12084) @@ -765,7 +765,7 @@ if ( Tcl_Init( dev->interp ) != TCL_OK ) { - fprintf( stderr, "%s\n", dev->interp->result ); + fprintf( stderr, "%s\n", Tcl_GetStringResult( dev->interp ) ); abort_session( pls, "Unable to initialize Tcl" ); } @@ -1572,7 +1572,7 @@ 0, 1, ( ClientData ) & iodev->file ) != TCL_OK ) { fprintf( stderr, "Cannot get file info:\n\t %s\n", - dev->interp->result ); + Tcl_GetStringResult( dev->interp ) ); abort_session( pls, "" ); } iodev->fd = fileno( iodev->file ); @@ -1677,7 +1677,7 @@ if ( pl_PacketSend( dev->interp, dev->iodev, pls->pdfs ) ) { fprintf( stderr, "Packet send failed:\n\t %s\n", - dev->interp->result ); + Tcl_GetStringResult( dev->interp ) ); abort_session( pls, "" ); } pdfs->bp = 0; @@ -2135,7 +2135,7 @@ if ( Tk_Init( interp ) ) { - fprintf( stderr, "tk_init:%s\n", interp->result ); + fprintf( stderr, "tk_init:%s\n", Tcl_GetStringResult( interp ) ); return 1; } @@ -2169,7 +2169,7 @@ if ( Tcl_ExprBoolean( dev->interp, dev->cmdbuf, &result ) ) { fprintf( stderr, "tk_wait command \"%s\" failed:\n\t %s\n", - cmd, dev->interp->result ); + cmd, Tcl_GetStringResult( dev->interp ) ); break; } if ( result ) @@ -2229,7 +2229,7 @@ if ( result != TCL_OK ) { fprintf( stderr, "Server command \"%s\" failed:\n\t %s\n", - cmd, dev->interp->result ); + cmd, Tcl_GetStringResult( dev->interp ) ); abort_session( pls, "" ); } } @@ -2251,7 +2251,7 @@ if ( Tcl_VarEval( dev->interp, cmd, (char **) NULL ) != TCL_OK ) { fprintf( stderr, "TCL command \"%s\" failed:\n\t %s\n", - cmd, dev->interp->result ); + cmd, Tcl_GetStringResult( dev->interp ) ); abort_session( pls, "" ); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |