X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fbio%2Fb_print.c;h=a7741f0915cc50a67435ba3e7b658b654cc397a8;hb=624265c60e07f8e5f251d0f5b79e34cf0221af73;hp=86aec79e4430ef79f5dfe1e6696d1b41c4867251;hpb=1e53a9fd1ad1260274065c12d0e9efbabb7d94e1;p=oweals%2Fopenssl.git diff --git a/crypto/bio/b_print.c b/crypto/bio/b_print.c index 86aec79e44..a7741f0915 100644 --- a/crypto/bio/b_print.c +++ b/crypto/bio/b_print.c @@ -12,18 +12,8 @@ #include #include "internal/numbers.h" #include "internal/cryptlib.h" -#ifndef NO_SYS_TYPES_H -# include -#endif -#include /* To get BN_LLONG properly defined */ #include -#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 @@ -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; @@ -208,6 +188,7 @@ _dopr(char **sbuffer, ch = *format++; break; case 'q': + case 'j': cflags = DP_C_LLONG; ch = *format++; break; @@ -236,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); @@ -261,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 = (ossl_ssize_t)va_arg(args, size_t); + 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, @@ -289,6 +270,7 @@ _dopr(char **sbuffer, break; case 'E': flags |= DP_F_UP; + /* fall thru */ case 'e': if (cflags == DP_C_LDOUBLE) fvalue = va_arg(args, LDOUBLE); @@ -300,6 +282,7 @@ _dopr(char **sbuffer, break; case 'G': flags |= DP_F_UP; + /* fall thru */ case 'g': if (cflags == DP_C_LDOUBLE) fvalue = va_arg(args, LDOUBLE); @@ -332,20 +315,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; @@ -445,11 +416,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; @@ -462,7 +433,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)