[brlcad-commits] SF.net SVN: brlcad:[59054] brlcad/trunk/src/librt/tcl.c
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <tbr...@us...> - 2013-12-19 19:35:23
|
Revision: 59054 http://sourceforge.net/p/brlcad/code/59054 Author: tbrowder2 Date: 2013-12-19 19:35:20 +0000 (Thu, 19 Dec 2013) Log Message: ----------- use explicit casts for both func pointers as args as well as actuall callers Modified Paths: -------------- brlcad/trunk/src/librt/tcl.c Modified: brlcad/trunk/src/librt/tcl.c =================================================================== --- brlcad/trunk/src/librt/tcl.c 2013-12-19 19:10:46 UTC (rev 59053) +++ brlcad/trunk/src/librt/tcl.c 2013-12-19 19:35:20 UTC (rev 59054) @@ -62,13 +62,13 @@ static struct dbcmdstruct rt_tcl_rt_cmds[] = { - {"shootray", rt_tcl_rt_shootray}, - {"onehit", rt_tcl_rt_onehit}, - {"no_bool", rt_tcl_rt_no_bool}, - {"check", rt_tcl_rt_check}, - {"prep", rt_tcl_rt_prep}, - {"cutter", rt_tcl_rt_cutter}, - {"set", rt_tcl_rt_set}, + {"shootray", (int (*)())rt_tcl_rt_shootray}, + {"onehit", (int (*)())rt_tcl_rt_onehit}, + {"no_bool", (int (*)())rt_tcl_rt_no_bool}, + {"check", (int (*)())rt_tcl_rt_check}, + {"prep", (int (*)())rt_tcl_rt_prep}, + {"cutter", (int (*)())rt_tcl_rt_cutter}, + {"set", (int (*)())rt_tcl_rt_set}, {(char *)0, (int (*)())0} }; @@ -613,8 +613,11 @@ for (dbcmd = rt_tcl_rt_cmds; dbcmd->cmdname != NULL; dbcmd++) { if (BU_STR_EQUAL(dbcmd->cmdname, argv[1])) { - return (*dbcmd->cmdfunc)(clientData, interp, - argc, argv); + /* need proper cmd func pointer for actual call */ + int (*_cmdfunc)(void*, Tcl_Interp*, int, const char* const*); + /* cast to the actual caller */ + _cmdfunc = (int (*)(void*, Tcl_Interp*, int, const char* const*))dbcmd; + return _cmdfunc(clientData, interp, argc, argv); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |