X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=cli%2Fcli_pickle.cpp;h=ffea40b7596b38acc536ad0d3520e05b56e869a9;hb=39a9f3650233206061134772417bfada16cd07be;hp=e3222dbbdc37500119a857df908c36a90244ea05;hpb=b16a4a88f021ec70cae2fc6278c2bd25224681a8;p=apitrace diff --git a/cli/cli_pickle.cpp b/cli/cli_pickle.cpp index e3222db..ffea40b 100644 --- a/cli/cli_pickle.cpp +++ b/cli/cli_pickle.cpp @@ -145,13 +145,21 @@ public: } void visit(Blob *node) { - writer.writeString((const char *)node->buf, node->size); + writer.writeByteArray(node->buf, node->size); } void visit(Pointer *node) { writer.writeInt(node->value); } + void visit(Repr *r) { + if (symbolic) { + _visit(r->humanValue); + } else { + _visit(r->machineValue); + } + } + void visit(Call *call) { writer.beginTuple(); @@ -238,6 +246,8 @@ command(int argc, char *argv[]) os::setBinaryMode(stdout); + std::cout.sync_with_stdio(false); + PickleWriter writer(std::cout); PickleVisitor visitor(writer, symbolic);