summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authoreban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-08-18 08:14:54 +0000
committereban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-08-18 08:14:54 +0000
commitff9782cfc9d1bb9342331096720386a7c881daed (patch)
tree0a403da1ce27e20a1ea32ded3a7c2f9b2fe93860 /ext
parente2d451b5794baf790a41682caf91244f0d5972bf (diff)
* ext/tcltklib/stubs.c (ruby_tcltk_stubs): need to call
Tcl_FindExecutable() for Tcl/Tk 8.4. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/tcltklib/stubs.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/ext/tcltklib/stubs.c b/ext/tcltklib/stubs.c
index 56cc8ca921..8faa4ca24e 100644
--- a/ext/tcltklib/stubs.c
+++ b/ext/tcltklib/stubs.c
@@ -34,8 +34,9 @@ ruby_tcltk_stubs()
{
DL_HANDLE tcl_dll;
DL_HANDLE tk_dll;
+ void (*p_Tcl_FindExecutable)(const char *);
Tcl_Interp *(*p_Tcl_CreateInterp)();
- int (*p_Tk_Init) _((Tcl_Interp *));
+ int (*p_Tk_Init)(Tcl_Interp *);
Tcl_Interp *tcl_ip;
int n;
char *ruby_tcl_dll = 0;
@@ -72,6 +73,12 @@ ruby_tcltk_stubs()
if (!tcl_dll || !tk_dll)
return -1;
+ p_Tcl_FindExecutable = (void (*)(const char *))DL_SYM(tcl_dll, "Tcl_FindExecutable");
+ if (!p_Tcl_FindExecutable)
+ return -7;
+
+ p_Tcl_FindExecutable("ruby");
+
p_Tcl_CreateInterp = (Tcl_Interp *(*)())DL_SYM(tcl_dll, "Tcl_CreateInterp");
if (!p_Tcl_CreateInterp)
return -2;
@@ -80,7 +87,7 @@ ruby_tcltk_stubs()
if (!tcl_ip)
return -3;
- p_Tk_Init = (int (*) _((Tcl_Interp *)))DL_SYM(tk_dll, "Tk_Init");
+ p_Tk_Init = (int (*)(Tcl_Interp *))DL_SYM(tk_dll, "Tk_Init");
if (!p_Tk_Init)
return -4;
(*p_Tk_Init)(tcl_ip);