Use Tcl_CreateObjCommand and respect the types
We use Tcl_CreateObjCommand instead of Tcl_CreateCommand,
to retrieve arguments as TCL objects.
Furthermore, this change addresses compiler warnings, with a
better respect of types than the original code base.
Warnings fixed by this change:
rabbitmq-tcl.c:367:27: warning: cast to 'ClientData' (aka 'void *') from smaller integer type 'int' [-Wint-to-void-pointer-cast] (ClientData)i, (Tcl_CmdDeleteProc *)NULL); ^ rabbitmq-tcl.c:366:56: warning: incompatible pointer types passing 'int (ClientData, Tcl_Interp *, int, char **)' to parameter of type 'Tcl_CmdProc *' (aka 'int (*)(ClientData, Tcl_Interp *, int, const char **)') [-Wincompatible-pointer-types] Tcl_CreateCommand(tclInterpreter, commandName, mq_command, ^~~~~~~~~~ /usr/include/tcl8.6/tclDecls.h:299:39: note: passing argument to parameter 'proc' here const char *cmdName, Tcl_CmdProc *proc, ^ 2 warnings generated.