Posted to tcl by patthoyts at Fri Mar 03 15:52:35 GMT 2017view raw

  1. From 88fb09c19b7bfe98d4c711daf807623057c47a69 Mon Sep 17 00:00:00 2001
  2. From: Pat Thoyts <patthoyts@users.sourceforge.net>
  3. Date: Fri, 3 Mar 2017 15:50:11 +0000
  4. Subject: [PATCH] (review) use TCL_WIDE_INT_TYPE in the tcl libtommath headers
  5.  
  6. This allows the use of Visual C++ 6 which does not define a "long long" type
  7. but can use __int64 instead.
  8.  
  9. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
  10. ---
  11. generic/tclTomMath.h | 10 +++++-----
  12. libtommath/tommath.h | 12 ++++++------
  13. 2 files changed, 11 insertions(+), 11 deletions(-)
  14.  
  15. diff --git a/generic/tclTomMath.h b/generic/tclTomMath.h
  16. index 001019c5b..3f67b4aa4 100644
  17. --- a/generic/tclTomMath.h
  18. +++ b/generic/tclTomMath.h
  19. @@ -64,8 +64,8 @@ extern "C" {
  20. #elif defined(MP_64BIT)
  21. /* for GCC only on supported platforms */
  22. #ifndef CRYPT
  23. - typedef unsigned long long ulong64;
  24. - typedef signed long long long64;
  25. + typedef unsigned TCL_WIDE_INT_TYPE ulong64;
  26. + typedef signed TCL_WIDE_INT_TYPE long64;
  27. #endif
  28.  
  29. #ifndef MP_DIGIT_DECLARED
  30. @@ -88,8 +88,8 @@ extern "C" {
  31.  
  32. /* this is to make porting into LibTomCrypt easier :-) */
  33. #ifndef CRYPT
  34. - typedef unsigned long long ulong64;
  35. - typedef signed long long long64;
  36. + typedef unsigned TCL_WIDE_INT_TYPE ulong64;
  37. + typedef signed TCL_WIDE_INT_TYPE long64;
  38. #endif
  39.  
  40. #ifndef MP_DIGIT_DECLARED
  41. @@ -278,7 +278,7 @@ unsigned long mp_get_int(mp_int * a);
  42. unsigned long mp_get_long(mp_int * a);
  43.  
  44. /* get a platform dependent unsigned long long value */
  45. -unsigned long long mp_get_long_long(mp_int * a);
  46. +unsigned TCL_WIDE_INT_TYPE mp_get_long_long(mp_int * a);
  47.  
  48. /* initialize and set a digit */
  49. /*
  50. diff --git a/libtommath/tommath.h b/libtommath/tommath.h
  51. index e69677989..299d36895 100644
  52. --- a/libtommath/tommath.h
  53. +++ b/libtommath/tommath.h
  54. @@ -58,8 +58,8 @@ extern "C" {
  55. #elif defined(MP_64BIT)
  56. /* for GCC only on supported platforms */
  57. #ifndef CRYPT
  58. - typedef unsigned long long ulong64;
  59. - typedef signed long long long64;
  60. + typedef unsigned TCL_WIDE_INT_TYPE ulong64;
  61. + typedef signed TCL_WIDE_INT_TYPE long64;
  62. #endif
  63.  
  64. typedef ulong64 mp_digit;
  65. @@ -79,8 +79,8 @@ extern "C" {
  66.  
  67. /* this is to make porting into LibTomCrypt easier :-) */
  68. #ifndef CRYPT
  69. - typedef unsigned long long ulong64;
  70. - typedef signed long long long64;
  71. + typedef unsigned TCL_WIDE_INT_TYPE ulong64;
  72. + typedef signed TCL_WIDE_INT_TYPE long64;
  73. #endif
  74.  
  75. typedef uint32_t mp_digit;
  76. @@ -225,7 +225,7 @@ int mp_set_int(mp_int *a, unsigned long b);
  77. int mp_set_long(mp_int *a, unsigned long b);
  78.  
  79. /* set a platform dependent unsigned long long value */
  80. -int mp_set_long_long(mp_int *a, unsigned long long b);
  81. +int mp_set_long_long(mp_int *a, unsigned TCL_WIDE_INT_TYPE b);
  82.  
  83. /* get a 32-bit value */
  84. unsigned long mp_get_int(mp_int * a);
  85. @@ -234,7 +234,7 @@ unsigned long mp_get_int(mp_int * a);
  86. unsigned long mp_get_long(mp_int * a);
  87.  
  88. /* get a platform dependent unsigned long long value */
  89. -unsigned long long mp_get_long_long(mp_int * a);
  90. +unsigned TCL_WIDE_INT_TYPE mp_get_long_long(mp_int * a);
  91.  
  92. /* initialize and set a digit */
  93. int mp_init_set (mp_int * a, mp_digit b);
  94. --
  95. 2.11.1.windows.1
  96.  
  97.