writeHexStr is same api of cybozu::write

dev
MITSUNARI Shigeo 6 years ago
parent d78847f34d
commit db844ba830
  1. 9
      include/mcl/conversion.hpp
  2. 2
      include/mcl/ec.hpp
  3. 2
      include/mcl/fp.hpp
  4. 4
      test/conversion_test.cpp

@ -451,17 +451,16 @@ size_t strToArray(bool *pIsMinus, UT *x, size_t xN, const char *buf, size_t bufS
return true if success else flase
*/
template<class OutputStream>
bool writeHexStr(OutputStream& os, const void *src, size_t n)
void writeHexStr(bool *pb, OutputStream& os, const void *src, size_t n)
{
bool b;
const uint8_t *p = (const uint8_t *)src;
for (size_t i = 0; i < n; i++) {
char hex[2];
cybozu::itohex(hex, sizeof(hex), p[i], false);
cybozu::write(&b, os, hex, sizeof(hex));
if (!b) return false;
cybozu::write(pb, os, hex, sizeof(hex));
if (!*pb) return;
}
return true;
*pb = true;
}
/*
read hex string from is and convert it to byte array

@ -713,7 +713,7 @@ public:
}
}
if (ioMode & IoSerializeHexStr) {
*pb = mcl::fp::writeHexStr(os, buf, n + adj);
mcl::fp::writeHexStr(pb, os, buf, n + adj);
} else {
cybozu::write(pb, os, buf, n + adj);
}

@ -278,7 +278,7 @@ public:
fp::Block b;
getBlock(b);
if (ioMode & IoSerializeHexStr) {
*pb = mcl::fp::writeHexStr(os, b.p, n);
mcl::fp::writeHexStr(pb, os, b.p, n);
} else {
cybozu::write(pb, os, b.p, n);
}

@ -82,7 +82,9 @@ CYBOZU_TEST_AUTO(writeHexStr)
const char *bin = tbl[i].bin;
const char *hex = tbl[i].hex;
size_t n = tbl[i].n;
CYBOZU_TEST_ASSERT(mcl::fp::writeHexStr(os, bin, n));
bool b;
mcl::fp::writeHexStr(&b, os, bin, n);
CYBOZU_TEST_ASSERT(b);
CYBOZU_TEST_EQUAL(os.getPos(), n * 2);
CYBOZU_TEST_EQUAL_ARRAY(buf, hex, n * 2);

Loading…
Cancel
Save