summaryrefslogtreecommitdiffstats
path: root/lib/libcrypto/bio/b_print.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcrypto/bio/b_print.c')
-rw-r--r--lib/libcrypto/bio/b_print.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/libcrypto/bio/b_print.c b/lib/libcrypto/bio/b_print.c
index f2bd91d5a02..2fffcfc025a 100644
--- a/lib/libcrypto/bio/b_print.c
+++ b/lib/libcrypto/bio/b_print.c
@@ -79,7 +79,7 @@
#include <openssl/bn.h> /* To get BN_LLONG properly defined */
#include <openssl/bio.h>
-#ifdef BN_LLONG
+#if defined(BN_LLONG) || defined(SIXTY_FOUR_BIT)
# ifndef HAVE_LONG_LONG
# define HAVE_LONG_LONG 1
# endif
@@ -117,7 +117,7 @@
#if HAVE_LONG_LONG
# if defined(OPENSSL_SYS_WIN32) && !defined(__GNUC__)
-# define LLONG _int64
+# define LLONG __int64
# else
# define LLONG long long
# endif
@@ -482,7 +482,7 @@ fmtint(
int flags)
{
int signvalue = 0;
- char *prefix = "";
+ const char *prefix = "";
unsigned LLONG uvalue;
char convert[DECIMAL_SIZE(value)+3];
int place = 0;
@@ -513,8 +513,8 @@ fmtint(
(caps ? "0123456789ABCDEF" : "0123456789abcdef")
[uvalue % (unsigned) base];
uvalue = (uvalue / (unsigned) base);
- } while (uvalue && (place < sizeof convert));
- if (place == sizeof convert)
+ } while (uvalue && (place < (int)sizeof(convert)));
+ if (place == sizeof(convert))
place--;
convert[place] = 0;
@@ -619,6 +619,7 @@ fmtfp(
int caps = 0;
long intpart;
long fracpart;
+ long max10;
if (max < 0)
max = 6;
@@ -639,11 +640,12 @@ fmtfp(
/* we "cheat" by converting the fractional part to integer by
multiplying by a factor of 10 */
- fracpart = roundv((pow_10(max)) * (ufvalue - intpart));
+ max10 = roundv(pow_10(max));
+ fracpart = roundv(pow_10(max) * (ufvalue - intpart));
- if (fracpart >= (long)pow_10(max)) {
+ if (fracpart >= max10) {
intpart++;
- fracpart -= (long)pow_10(max);
+ fracpart -= max10;
}
/* convert integer part */
@@ -652,7 +654,7 @@ fmtfp(
(caps ? "0123456789ABCDEF"
: "0123456789abcdef")[intpart % 10];
intpart = (intpart / 10);
- } while (intpart && (iplace < sizeof iconvert));
+ } while (intpart && (iplace < (int)sizeof(iconvert)));
if (iplace == sizeof iconvert)
iplace--;
iconvert[iplace] = 0;