summaryrefslogtreecommitdiffstats
path: root/generic/tclObj.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-10-22 21:36:21 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-10-22 21:36:21 (GMT)
commit8726aabaded70c01ab3fac21162ce53b220b81ea (patch)
tree47b050309f5ad0865f97743d42ff1ebb570deb96 /generic/tclObj.c
parentd14ab3904746a34a3916f45e037b6df3ecff10fa (diff)
parent566db2779b71036ff40e31affc73126c2a090773 (diff)
downloadtcl-8726aabaded70c01ab3fac21162ce53b220b81ea.zip
tcl-8726aabaded70c01ab3fac21162ce53b220b81ea.tar.gz
tcl-8726aabaded70c01ab3fac21162ce53b220b81ea.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclObj.c')
-rw-r--r--generic/tclObj.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/generic/tclObj.c b/generic/tclObj.c
index d711adb..89125cf 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.c
@@ -2571,11 +2571,12 @@ Tcl_GetLongFromObj(
*/
mp_int big;
- unsigned long scratch, value = 0, numBytes = sizeof(unsigned long);
+ unsigned long scratch, value = 0;
unsigned char *bytes = (unsigned char *) &scratch;
+ size_t numBytes;
TclUnpackBignum(objPtr, big);
- if (mp_to_unsigned_bin_n(&big, bytes, &numBytes) == MP_OKAY) {
+ if (mp_to_ubin(&big, bytes, sizeof(long), &numBytes) == MP_OKAY) {
while (numBytes-- > 0) {
value = (value << CHAR_BIT) | *bytes++;
}
@@ -2810,12 +2811,12 @@ Tcl_GetWideIntFromObj(
mp_int big;
Tcl_WideUInt value = 0;
- unsigned long numBytes = sizeof(Tcl_WideInt);
+ size_t numBytes;
Tcl_WideInt scratch;
unsigned char *bytes = (unsigned char *) &scratch;
TclUnpackBignum(objPtr, big);
- if (mp_to_unsigned_bin_n(&big, bytes, &numBytes) == MP_OKAY) {
+ if (mp_to_ubin(&big, bytes, sizeof(Tcl_WideInt), &numBytes) == MP_OKAY) {
while (numBytes-- > 0) {
value = (value << CHAR_BIT) | *bytes++;
}
@@ -2891,12 +2892,12 @@ TclGetWideBitsFromObj(
mp_int big;
Tcl_WideUInt value = 0, scratch;
- unsigned long numBytes = sizeof(Tcl_WideInt);
+ size_t numBytes;
unsigned char *bytes = (unsigned char *) &scratch;
Tcl_GetBignumFromObj(NULL, objPtr, &big);
mp_mod_2d(&big, (int) (CHAR_BIT * sizeof(Tcl_WideInt)), &big);
- mp_to_unsigned_bin_n(&big, bytes, &numBytes);
+ mp_to_ubin(&big, bytes, sizeof(Tcl_WideInt), &numBytes);
while (numBytes-- > 0) {
value = (value << CHAR_BIT) | *bytes++;
}
@@ -3016,7 +3017,7 @@ UpdateStringOfBignum(
stringVal = Tcl_InitStringRep(objPtr, NULL, size - 1);
TclOOM(stringVal, size);
- if (MP_OKAY != mp_toradix_n(&bignumVal, stringVal, 10, size)) {
+ if (MP_OKAY != mp_to_radix(&bignumVal, stringVal, size, NULL, 10)) {
Tcl_Panic("conversion failure in UpdateStringOfBignum");
}
(void) Tcl_InitStringRep(objPtr, NULL, size - 1);
@@ -3265,14 +3266,14 @@ Tcl_SetBignumObj(
mp_int *bignumValue) /* Value to store */
{
Tcl_WideUInt value = 0;
- unsigned long numBytes = sizeof(Tcl_WideUInt);
+ size_t numBytes;
Tcl_WideUInt scratch;
unsigned char *bytes = (unsigned char *) &scratch;
if (Tcl_IsShared(objPtr)) {
Tcl_Panic("%s called with shared object", "Tcl_SetBignumObj");
}
- if (mp_to_unsigned_bin_n(bignumValue, bytes, &numBytes) != MP_OKAY) {
+ if (mp_to_ubin(bignumValue, bytes, sizeof(Tcl_WideUInt), &numBytes) != MP_OKAY) {
goto tooLargeForWide;
}
while (numBytes-- > 0) {