@@ -65,6 +65,12 @@ Copyright (C) 1994 Steen Lumholt.
65
65
#endif
66
66
#include <tclTomMath.h>
67
67
68
+ #if defined(TCL_WITH_EXTERNAL_TOMMATH ) || (TK_HEX_VERSION >= 0x08070000 )
69
+ #define USE_DEPRECATED_TOMMATH_API 0
70
+ #else
71
+ #define USE_DEPRECATED_TOMMATH_API 1
72
+ #endif
73
+
68
74
#if !(defined(MS_WINDOWS ) || defined(__CYGWIN__ ))
69
75
#define HAVE_CREATEFILEHANDLER
70
76
#endif
@@ -1049,20 +1055,33 @@ static PyObject*
1049
1055
fromBignumObj (TkappObject * tkapp , Tcl_Obj * value )
1050
1056
{
1051
1057
mp_int bigValue ;
1058
+ mp_err err ;
1059
+ #if USE_DEPRECATED_TOMMATH_API
1052
1060
unsigned long numBytes ;
1061
+ #else
1062
+ size_t numBytes ;
1063
+ #endif
1053
1064
unsigned char * bytes ;
1054
1065
PyObject * res ;
1055
1066
1056
1067
if (Tcl_GetBignumFromObj (Tkapp_Interp (tkapp ), value , & bigValue ) != TCL_OK )
1057
1068
return Tkinter_Error (tkapp );
1069
+ #if USE_DEPRECATED_TOMMATH_API
1058
1070
numBytes = mp_unsigned_bin_size (& bigValue );
1071
+ #else
1072
+ numBytes = mp_ubin_size (& bigValue );
1073
+ #endif
1059
1074
bytes = PyMem_Malloc (numBytes );
1060
1075
if (bytes == NULL ) {
1061
1076
mp_clear (& bigValue );
1062
1077
return PyErr_NoMemory ();
1063
1078
}
1064
- if (mp_to_unsigned_bin_n (& bigValue , bytes ,
1065
- & numBytes ) != MP_OKAY ) {
1079
+ #if USE_DEPRECATED_TOMMATH_API
1080
+ err = mp_to_unsigned_bin_n (& bigValue , bytes , & numBytes );
1081
+ #else
1082
+ err = mp_to_ubin (& bigValue , bytes , numBytes , NULL );
1083
+ #endif
1084
+ if (err != MP_OKAY ) {
1066
1085
mp_clear (& bigValue );
1067
1086
PyMem_Free (bytes );
1068
1087
return PyErr_NoMemory ();
0 commit comments