## Current context
We fixed compilation errors, but there is still one warning:
```
$ make
cc -O2 -pipe -Wall -fPIC -I/usr/local/include/mysql -I/usr/local/include/mysql/mysql -I/usr/local/include/tcl8.6 -c fbsql.c -o fbsql.o
fbsql.c:556:19: warning: cast to smaller integer type 'int' from 'ClientData' (aka 'void *') [-Wvoid-pointer-to-int-cast]
556 | int sql_number = (int)sql_word;
| ^~~~~~~~~~~~~
fbsql.c:599:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
599 | WaitVariableProc(clientData, interp, name1, name2, flags)
| ^
fbsql.c:610:5: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
610 | int fbWaitCmd(clientData, interp, argc, argv)
| ^
fbsql.c:680:53: warning: cast to 'ClientData' (aka 'void *') from smaller integer type 'int' [-Wint-to-void-pointer-cast]
680 | Tcl_CreateCommand (interp, command_name, SqlCmd, (ClientData) i, (Tcl_CmdDeleteProc*) NULL);
| ^~~~~~~~~~~~~~
4 warnings generated.
```
See T2213#34389 for suggestions to fix it.
_____
## Historical context
When we opened the task, before D3910 fix, the compiler error was:
```
$ gmake
cc -Wall -fPIC -I/home/local/include -I/usr/local/include/mysql -I/usr/local/include/tcl8.6 -c -o fbsql.o fbsql.c
fbsql.c:556:19: warning: cast to smaller integer type 'int' from 'ClientData' (aka 'void *') [-Wvoid-pointer-to-int-cast]
556 | int sql_number = (int)sql_word;
| ^~~~~~~~~~~~~
fbsql.c:599:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
599 | WaitVariableProc(clientData, interp, name1, name2, flags)
| ^
fbsql.c:610:5: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
610 | int fbWaitCmd(clientData, interp, argc, argv)
| ^
fbsql.c:667:36: error: incompatible function pointer types passing 'int (ClientData, Tcl_Interp *, int, char **)' (aka 'int (void *, struct Tcl_Interp *, int, char **)') to parameter of type 'Tcl_CmdProc *' (aka 'int (*)(void *, struct Tcl
_Interp *, int, const char **)') [-Wincompatible-function-pointer-types]
667 | Tcl_CreateCommand (interp, "sql", SqlCmd, (ClientData) 0, (Tcl_CmdDeleteProc*) NULL);
| ^~~~~~
/usr/local/include/tcl8.6/tclDecls.h:303:39: note: passing argument to parameter 'proc' here
303 | const char *cmdName, Tcl_CmdProc *proc,
| ^
fbsql.c:680:53: warning: cast to 'ClientData' (aka 'void *') from smaller integer type 'int' [-Wint-to-void-pointer-cast]
680 | Tcl_CreateCommand (interp, command_name, SqlCmd, (ClientData) i, (Tcl_CmdDeleteProc*) NULL);
| ^~~~~~~~~~~~~~
fbsql.c:680:45: error: incompatible function pointer types passing 'int (ClientData, Tcl_Interp *, int, char **)' (aka 'int (void *, struct Tcl_Interp *, int, char **)') to parameter of type 'Tcl_CmdProc *' (aka 'int (*)(void *, struct Tcl
_Interp *, int, const char **)') [-Wincompatible-function-pointer-types]
680 | Tcl_CreateCommand (interp, command_name, SqlCmd, (ClientData) i, (Tcl_CmdDeleteProc*) NULL);
| ^~~~~~
/usr/local/include/tcl8.6/tclDecls.h:303:39: note: passing argument to parameter 'proc' here
303 | const char *cmdName, Tcl_CmdProc *proc,
| ^
4 warnings and 2 errors generated.
gmake: *** [<builtin>: fbsql.o] Error 1
```
That's have been fixed