mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-07-07 08:50:26 +02:00
Use standard C99 (and Qt) types for 64-bit integers
This commit is contained in:
@ -5,6 +5,8 @@
|
||||
#ifndef BITCOIN_SERIALIZE_H
|
||||
#define BITCOIN_SERIALIZE_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
@ -19,9 +21,6 @@
|
||||
#include <boost/tuple/tuple_comparison.hpp>
|
||||
#include <boost/tuple/tuple_io.hpp>
|
||||
|
||||
typedef long long int64;
|
||||
typedef unsigned long long uint64;
|
||||
|
||||
#ifdef WIN32
|
||||
#include <windows.h>
|
||||
// This is used to attempt to keep keying material out of swap
|
||||
@ -137,8 +136,8 @@ inline unsigned int GetSerializeSize(signed int a, int, int=0) { return size
|
||||
inline unsigned int GetSerializeSize(unsigned int a, int, int=0) { return sizeof(a); }
|
||||
inline unsigned int GetSerializeSize(signed long a, int, int=0) { return sizeof(a); }
|
||||
inline unsigned int GetSerializeSize(unsigned long a, int, int=0) { return sizeof(a); }
|
||||
inline unsigned int GetSerializeSize(int64 a, int, int=0) { return sizeof(a); }
|
||||
inline unsigned int GetSerializeSize(uint64 a, int, int=0) { return sizeof(a); }
|
||||
inline unsigned int GetSerializeSize(int64_t a, int, int=0) { return sizeof(a); }
|
||||
inline unsigned int GetSerializeSize(uint64_t a, int, int=0) { return sizeof(a); }
|
||||
inline unsigned int GetSerializeSize(float a, int, int=0) { return sizeof(a); }
|
||||
inline unsigned int GetSerializeSize(double a, int, int=0) { return sizeof(a); }
|
||||
|
||||
@ -151,8 +150,8 @@ template<typename Stream> inline void Serialize(Stream& s, signed int a, int
|
||||
template<typename Stream> inline void Serialize(Stream& s, unsigned int a, int, int=0) { WRITEDATA(s, a); }
|
||||
template<typename Stream> inline void Serialize(Stream& s, signed long a, int, int=0) { WRITEDATA(s, a); }
|
||||
template<typename Stream> inline void Serialize(Stream& s, unsigned long a, int, int=0) { WRITEDATA(s, a); }
|
||||
template<typename Stream> inline void Serialize(Stream& s, int64 a, int, int=0) { WRITEDATA(s, a); }
|
||||
template<typename Stream> inline void Serialize(Stream& s, uint64 a, int, int=0) { WRITEDATA(s, a); }
|
||||
template<typename Stream> inline void Serialize(Stream& s, int64_t a, int, int=0) { WRITEDATA(s, a); }
|
||||
template<typename Stream> inline void Serialize(Stream& s, uint64_t a, int, int=0) { WRITEDATA(s, a); }
|
||||
template<typename Stream> inline void Serialize(Stream& s, float a, int, int=0) { WRITEDATA(s, a); }
|
||||
template<typename Stream> inline void Serialize(Stream& s, double a, int, int=0) { WRITEDATA(s, a); }
|
||||
|
||||
@ -165,8 +164,8 @@ template<typename Stream> inline void Unserialize(Stream& s, signed int& a,
|
||||
template<typename Stream> inline void Unserialize(Stream& s, unsigned int& a, int, int=0) { READDATA(s, a); }
|
||||
template<typename Stream> inline void Unserialize(Stream& s, signed long& a, int, int=0) { READDATA(s, a); }
|
||||
template<typename Stream> inline void Unserialize(Stream& s, unsigned long& a, int, int=0) { READDATA(s, a); }
|
||||
template<typename Stream> inline void Unserialize(Stream& s, int64& a, int, int=0) { READDATA(s, a); }
|
||||
template<typename Stream> inline void Unserialize(Stream& s, uint64& a, int, int=0) { READDATA(s, a); }
|
||||
template<typename Stream> inline void Unserialize(Stream& s, int64_t& a, int, int=0) { READDATA(s, a); }
|
||||
template<typename Stream> inline void Unserialize(Stream& s, uint64_t& a, int, int=0) { READDATA(s, a); }
|
||||
template<typename Stream> inline void Unserialize(Stream& s, float& a, int, int=0) { READDATA(s, a); }
|
||||
template<typename Stream> inline void Unserialize(Stream& s, double& a, int, int=0) { READDATA(s, a); }
|
||||
|
||||
@ -186,16 +185,16 @@ template<typename Stream> inline void Unserialize(Stream& s, bool& a, int, int=0
|
||||
// size <= UINT_MAX -- 5 bytes (254 + 4 bytes)
|
||||
// size > UINT_MAX -- 9 bytes (255 + 8 bytes)
|
||||
//
|
||||
inline unsigned int GetSizeOfCompactSize(uint64 nSize)
|
||||
inline unsigned int GetSizeOfCompactSize(uint64_t nSize)
|
||||
{
|
||||
if (nSize < 253) return sizeof(unsigned char);
|
||||
else if (nSize <= std::numeric_limits<unsigned short>::max()) return sizeof(unsigned char) + sizeof(unsigned short);
|
||||
else if (nSize <= std::numeric_limits<unsigned int>::max()) return sizeof(unsigned char) + sizeof(unsigned int);
|
||||
else return sizeof(unsigned char) + sizeof(uint64);
|
||||
else return sizeof(unsigned char) + sizeof(uint64_t);
|
||||
}
|
||||
|
||||
template<typename Stream>
|
||||
void WriteCompactSize(Stream& os, uint64 nSize)
|
||||
void WriteCompactSize(Stream& os, uint64_t nSize)
|
||||
{
|
||||
if (nSize < 253)
|
||||
{
|
||||
@ -219,7 +218,7 @@ void WriteCompactSize(Stream& os, uint64 nSize)
|
||||
else
|
||||
{
|
||||
unsigned char chSize = 255;
|
||||
uint64 xSize = nSize;
|
||||
uint64_t xSize = nSize;
|
||||
WRITEDATA(os, chSize);
|
||||
WRITEDATA(os, xSize);
|
||||
}
|
||||
@ -227,11 +226,11 @@ void WriteCompactSize(Stream& os, uint64 nSize)
|
||||
}
|
||||
|
||||
template<typename Stream>
|
||||
uint64 ReadCompactSize(Stream& is)
|
||||
uint64_t ReadCompactSize(Stream& is)
|
||||
{
|
||||
unsigned char chSize;
|
||||
READDATA(is, chSize);
|
||||
uint64 nSizeRet = 0;
|
||||
uint64_t nSizeRet = 0;
|
||||
if (chSize < 253)
|
||||
{
|
||||
nSizeRet = chSize;
|
||||
@ -250,11 +249,11 @@ uint64 ReadCompactSize(Stream& is)
|
||||
}
|
||||
else
|
||||
{
|
||||
uint64 xSize;
|
||||
uint64_t xSize;
|
||||
READDATA(is, xSize);
|
||||
nSizeRet = xSize;
|
||||
}
|
||||
if (nSizeRet > (uint64)MAX_SIZE)
|
||||
if (nSizeRet > (uint64_t)MAX_SIZE)
|
||||
throw std::ios_base::failure("ReadCompactSize() : size too large");
|
||||
return nSizeRet;
|
||||
}
|
||||
|
Reference in New Issue
Block a user