@@ -60,6 +60,12 @@ Copyright (C) 1994 Steen Lumholt.
60
60
61
61
#include <tclTomMath.h>
62
62
63
+ #if defined(TCL_WITH_EXTERNAL_TOMMATH ) || (TK_HEX_VERSION >= 0x08070000 )
64
+ #define USE_DEPRECATED_TOMMATH_API 0
65
+ #else
66
+ #define USE_DEPRECATED_TOMMATH_API 1
67
+ #endif
68
+
63
69
#if !(defined(MS_WINDOWS ) || defined(__CYGWIN__ ))
64
70
#define HAVE_CREATEFILEHANDLER
65
71
#endif
@@ -1083,20 +1089,33 @@ static PyObject*
1083
1089
fromBignumObj (TkappObject * tkapp , Tcl_Obj * value )
1084
1090
{
1085
1091
mp_int bigValue ;
1092
+ mp_err err ;
1093
+ #if USE_DEPRECATED_TOMMATH_API
1086
1094
unsigned long numBytes ;
1095
+ #else
1096
+ size_t numBytes ;
1097
+ #endif
1087
1098
unsigned char * bytes ;
1088
1099
PyObject * res ;
1089
1100
1090
1101
if (Tcl_GetBignumFromObj (Tkapp_Interp (tkapp ), value , & bigValue ) != TCL_OK )
1091
1102
return Tkinter_Error (tkapp );
1103
+ #if USE_DEPRECATED_TOMMATH_API
1092
1104
numBytes = mp_unsigned_bin_size (& bigValue );
1105
+ #else
1106
+ numBytes = mp_ubin_size (& bigValue );
1107
+ #endif
1093
1108
bytes = PyMem_Malloc (numBytes );
1094
1109
if (bytes == NULL ) {
1095
1110
mp_clear (& bigValue );
1096
1111
return PyErr_NoMemory ();
1097
1112
}
1098
- if (mp_to_unsigned_bin_n (& bigValue , bytes ,
1099
- & numBytes ) != MP_OKAY ) {
1113
+ #if USE_DEPRECATED_TOMMATH_API
1114
+ err = mp_to_unsigned_bin_n (& bigValue , bytes , & numBytes );
1115
+ #else
1116
+ err = mp_to_ubin (& bigValue , bytes , numBytes , NULL );
1117
+ #endif
1118
+ if (err != MP_OKAY ) {
1100
1119
mp_clear (& bigValue );
1101
1120
PyMem_Free (bytes );
1102
1121
return PyErr_NoMemory ();
0 commit comments