I believe hex.h should be modifed as follows (it does not pass the
terminator to IsolatedInitialize()):
 
----------- current --------
 
//! Converts given data to base 16
class CRYPTOPP_DLL HexEncoder : public SimpleProxyFilter
{
public:
 HexEncoder(BufferedTransformation *attachment = NULL, bool uppercase =
true, int outputGroupSize = 0, const std::string &separator = ":", const
std::string &terminator = "")
  : SimpleProxyFilter(new BaseN_Encoder(new Grouper), attachment)
 {
  IsolatedInitialize(MakeParameters(Name::Uppercase(),
uppercase)(Name::GroupSize(), outputGroupSize)(Name::Separator(),
ConstByteArrayParameter(separator)));
 }
 
 void IsolatedInitialize(const NameValuePairs &parameters);
};
 
----------- fixed -----------
 
//! Converts given data to base 16
class CRYPTOPP_DLL HexEncoder : public SimpleProxyFilter
{
public:
 HexEncoder(BufferedTransformation *attachment = NULL, bool uppercase =
true, int outputGroupSize = 0, const std::string &separator = ":", const
std::string &terminator = "")
  : SimpleProxyFilter(new BaseN_Encoder(new Grouper), attachment)
 {
  IsolatedInitialize(MakeParameters(Name::Uppercase(), uppercase)
                                         (Name::GroupSize(),
outputGroupSize)
                                         (Name::Separator(),
ConstByteArrayParameter(separator))
                                         (Name::Terminator(),
ConstByteArrayParameter(terminator)));
 }
 
 void IsolatedInitialize(const NameValuePairs &parameters);
};


Reply via email to