From: Ethan B. <ebl...@us...> - 2005-02-23 02:14:26
|
Update of /cvsroot/gaim/gaim/plugins/tcl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10467 Modified Files: tcl_signals.c Log Message: This should make Tcl 8.3 happier Index: tcl_signals.c =================================================================== RCS file: /cvsroot/gaim/gaim/plugins/tcl/tcl_signals.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -p -r1.7 -r1.8 --- tcl_signals.c 14 Feb 2005 03:11:23 -0000 1.7 +++ tcl_signals.c 23 Feb 2005 02:14:18 -0000 1.8 @@ -211,13 +211,27 @@ static void *tcl_signal_callback(va_list } case GAIM_TYPE_INT64: case GAIM_TYPE_UINT64: + /* Tcl < 8.4 doesn't have wide ints, so we have ugly + * ifdefs in here */ if (gaim_value_is_outgoing(handler->argtypes[i])) { - vals[i] = (void *)va_arg(args, guint64 *); + vals[i] = (void *)va_arg(args, gint64 *); + #if (TCL_MAJOR_VERSION >= 8 && TCL_MINOR_VERSION >= 4) Tcl_LinkVar(handler->interp, name->str, vals[i], TCL_LINK_WIDE_INT); + #else + /* This is going to cause weirdness at best, + * but what do you want ... we're losing + * precision */ + Tcl_LinkVar(handler->interp, name->str, + vals[i], TCL_LINK_INT); + #endif /* Tcl >= 8.4 */ arg = Tcl_NewStringObj(name->str, -1); } else { - arg = Tcl_NewWideIntObj(va_arg(args, guint64)); + #if (TCL_MAJOR_VERSION >= 8 && TCL_MINOR_VERSION >= 4) + arg = Tcl_NewWideIntObj(va_arg(args, gint64)); + #else + arg = Tcl_NewIntObj((int)va_arg(args, int)); + #endif /* Tcl >= 8.4 */ } break; case GAIM_TYPE_STRING: |