return ret;
}
+string makeBytesFromHex(const string &in) {
+ if (in.size() % 2 != 0) {
+ throw std::range_error("odd number of bytes in hex string");
+ }
+ string ret;
+ unsigned int num;
+ for (size_t i = 0; i < in.size(); i+=2) {
+ string numStr = in.substr(i, 2);
+ num = 0;
+ sscanf(numStr.c_str(), "%02x", &num);
+ ret.push_back((uint8_t)num);
+ }
+ return ret;
+}
+
void normalizeTV(struct timeval& tv)
{
if(tv.tv_usec > 1000000) {
}
string makeHexDump(const string& str);
+//! Convert the hexstring in to a byte string
+string makeBytesFromHex(const string &in);
void normalizeTV(struct timeval& tv);
const struct timeval operator+(const struct timeval& lhs, const struct timeval& rhs);
BOOST_CHECK_EQUAL(out[0], "foobar123 blabla bla,baz quux456");
}
+BOOST_AUTO_TEST_CASE(test_makeBytesFromHex) {
+ string out = makeBytesFromHex("1234567890abcdef");
+ BOOST_CHECK_EQUAL(out, "\x12\x34\x56\x78\x90\xab\xcd\xef");
+
+ BOOST_CHECK_THROW(makeBytesFromHex("123"), std::range_error);
+}
+
BOOST_AUTO_TEST_SUITE_END()