#include #include #include int main(int argc, char** argv) { if (argc != 3) { std::cerr << "Usage: generate-provider-code in.boc out.h\n"; return 1; } std::ifstream in(argv[1], std::ios_base::ate | std::ios_base::binary); size_t size = in.tellg(); in.seekg(0, std::ios::beg); std::vector buf(size); if (!in.read(buf.data(), size)) { std::cerr << "Error: cannot read input\n"; return 1; } in.close(); std::ofstream out(argv[2]); out << "// Auto-generated by embed-provider-code\n"; out << "#pragma once\n"; out << "const unsigned char STORAGE_PROVIDER_CODE[" << size << "] = {\n "; for (size_t i = 0; i < size; ++i) { if (i != 0) { out << ","; if (i % 32 == 31) { out << "\n "; } } out << (int)(unsigned char)buf[i]; } out << "\n};\n"; if (!out) { std::cerr << "Error: cannot write output\n"; return 1; } out.close(); return 0; }