static int testData() { CCStatus status; char *hexstring = "1002030405060708090021222324252627282920"; byteBuffer bb = hexStringToBytes(hexstring); CCBigNumRef num1 = CCBigNumFromData(&status, bb->bytes, bb->len); char *output; ok(status == 0, "BigNum Created"); output = CCBigNumToHexString(&status, num1); ok(status == 0, "Value retrieved"); ok(strcmp(output, hexstring) == 0, "strings are equal"); if(strcmp(output, hexstring)) { printf("output: %s\n", output); printf("input : %s\n", hexstring); } free(output); byteBuffer outbuf = mallocByteBuffer(64); outbuf->len = CCBigNumToData(&status, num1, outbuf->bytes); ok(status == 0, "Value retrieved 2"); ok(bytesAreEqual(bb, outbuf), "input == output"); free(bb); free(outbuf); CCBigNumFree(num1); return 0; }
Vector<uint8_t> CCBigNum::data() const { Vector<uint8_t> result(CCBigNumByteCount(m_number)); CCStatus status = kCCSuccess; CCBigNumToData(&status, m_number, result.data()); RELEASE_ASSERT(!status); return result; }