diff options
author | Andy Polyakov <appro@openssl.org> | 2017-03-30 21:44:55 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2017-04-01 15:40:43 +0200 |
commit | 15b337fa58ba822eb1e67d03a192c390a941efa7 (patch) | |
tree | ae60f063573c4667400aa572b6d5c4216fdde3d1 /crypto/bio | |
parent | e6f648fd880369e186039501c960809b17f96e88 (diff) |
bio/b_print.c: switch to int64_t as "greatest-width integer type".
Originally there was dependency on BN configuration parameters, but
it stemmed from times when "long long" support was optional. Today
we require 64-bit support from compiler, and there is no reason to
have "greatest-width integer" depend on BN configuration.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'crypto/bio')
-rw-r--r-- | crypto/bio/b_print.c | 54 |
1 files changed, 11 insertions, 43 deletions
diff --git a/crypto/bio/b_print.c b/crypto/bio/b_print.c index 79ae4a9c41..af05c3592c 100644 --- a/crypto/bio/b_print.c +++ b/crypto/bio/b_print.c @@ -12,18 +12,8 @@ #include <ctype.h> #include "internal/numbers.h" #include "internal/cryptlib.h" -#ifndef NO_SYS_TYPES_H -# include <sys/types.h> -#endif -#include <openssl/bn.h> /* To get BN_LLONG properly defined */ #include <openssl/bio.h> -#if defined(BN_LLONG) || defined(SIXTY_FOUR_BIT) -# ifndef HAVE_LONG_LONG -# define HAVE_LONG_LONG 1 -# endif -#endif - /* * Copyright Patrick Powell 1995 * This code is based on code written by Patrick Powell <papowell@astart.com> @@ -37,20 +27,10 @@ # define LDOUBLE double #endif -#ifdef HAVE_LONG_LONG -# if defined(_WIN32) && !defined(__GNUC__) -# define LLONG __int64 -# else -# define LLONG long long -# endif -#else -# define LLONG long -#endif - static int fmtstr(char **, char **, size_t *, size_t *, const char *, int, int, int); static int fmtint(char **, char **, size_t *, size_t *, - LLONG, int, int, int, int); + int64_t, int, int, int, int); static int fmtfp(char **, char **, size_t *, size_t *, LDOUBLE, int, int, int, int); static int doapr_outch(char **, char **, size_t *, size_t *, int); @@ -107,7 +87,7 @@ _dopr(char **sbuffer, size_t *retlen, int *truncated, const char *format, va_list args) { char ch; - LLONG value; + int64_t value; LDOUBLE fvalue; char *strvalue; int min; @@ -237,7 +217,7 @@ _dopr(char **sbuffer, value = va_arg(args, long int); break; case DP_C_LLONG: - value = va_arg(args, LLONG); + value = va_arg(args, int64_t); break; case DP_C_SIZE: value = va_arg(args, ossl_ssize_t); @@ -262,16 +242,16 @@ _dopr(char **sbuffer, value = (unsigned short int)va_arg(args, unsigned int); break; case DP_C_LONG: - value = (LLONG)va_arg(args, unsigned long int); + value = va_arg(args, unsigned long int); break; case DP_C_LLONG: - value = va_arg(args, unsigned LLONG); + value = va_arg(args, uint64_t); break; case DP_C_SIZE: value = va_arg(args, size_t); break; default: - value = (LLONG)va_arg(args, unsigned int); + value = va_arg(args, unsigned int); break; } if (!fmtint(sbuffer, buffer, &currlen, maxlen, value, @@ -333,20 +313,8 @@ _dopr(char **sbuffer, value, 16, min, max, flags | DP_F_NUM)) return 0; break; - case 'n': /* XXX */ - if (cflags == DP_C_SHORT) { - short int *num; - num = va_arg(args, short int *); - *num = currlen; - } else if (cflags == DP_C_LONG) { /* XXX */ - long int *num; - num = va_arg(args, long int *); - *num = (long int)currlen; - } else if (cflags == DP_C_LLONG) { /* XXX */ - LLONG *num; - num = va_arg(args, LLONG *); - *num = (LLONG) currlen; - } else { + case 'n': + { int *num; num = va_arg(args, int *); *num = currlen; @@ -446,11 +414,11 @@ static int fmtint(char **sbuffer, char **buffer, size_t *currlen, - size_t *maxlen, LLONG value, int base, int min, int max, int flags) + size_t *maxlen, int64_t value, int base, int min, int max, int flags) { int signvalue = 0; const char *prefix = ""; - unsigned LLONG uvalue; + uint64_t uvalue; char convert[DECIMAL_SIZE(value) + 3]; int place = 0; int spadlen = 0; @@ -463,7 +431,7 @@ fmtint(char **sbuffer, if (!(flags & DP_F_UNSIGNED)) { if (value < 0) { signvalue = '-'; - uvalue = 0 - (unsigned LLONG)value; + uvalue = 0 - (uint64_t)value; } else if (flags & DP_F_PLUS) signvalue = '+'; else if (flags & DP_F_SPACE) |