ptree prop_list(const wrapped_data& wrapper) { ptree tree; tree.put("checksum", wrapper.checksum); tree.put("payload", base16(wrapper.payload)); tree.put("version", wrapper.version); return tree; }
ssize_t ptrFromStr(const char *src, size_t *len, ptr **dst, bool external) { size_t base = 0; const char *p = src; atommem(sizeof(ptr)); **dst = ptr_nil; if (GDK_STRNIL(src)) return 1; while (GDKisspace(*p)) p++; if (external && strncmp(p, "nil", 3) == 0) { p += 3; } else { if (p[0] == '0' && (p[1] == 'x' || p[1] == 'X')) { p += 2; } if (!num16(*p)) { GDKerror("not a number\n"); return -1; } while (num16(*p)) { if (base >= ((size_t) 1 << (8 * sizeof(size_t) - 4))) { GDKerror("overflow\n"); return -1; } base = mult16(base) + base16(*p); p++; } **dst = (ptr) base; } while (GDKisspace(*p)) p++; return (ssize_t) (p - src); }
std::ostream& operator<<(std::ostream& output, const transaction& argument) { output << base16(argument.value_.to_data()); return output; }