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 return true if success else flase
*/ */
template<class OutputStream> 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; const uint8_t *p = (const uint8_t *)src;
for (size_t i = 0; i < n; i++) { for (size_t i = 0; i < n; i++) {
char hex[2]; char hex[2];
cybozu::itohex(hex, sizeof(hex), p[i], false); cybozu::itohex(hex, sizeof(hex), p[i], false);
cybozu::write(&b, os, hex, sizeof(hex)); cybozu::write(pb, os, hex, sizeof(hex));
if (!b) return false; if (!*pb) return;
} }
return true; *pb = true;
} }
/* /*
read hex string from is and convert it to byte array read hex string from is and convert it to byte array

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

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

@ -82,7 +82,9 @@ CYBOZU_TEST_AUTO(writeHexStr)
const char *bin = tbl[i].bin; const char *bin = tbl[i].bin;
const char *hex = tbl[i].hex; const char *hex = tbl[i].hex;
size_t n = tbl[i].n; 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(os.getPos(), n * 2);
CYBOZU_TEST_EQUAL_ARRAY(buf, hex, n * 2); CYBOZU_TEST_EQUAL_ARRAY(buf, hex, n * 2);

Loading…
Cancel
Save