From: José Fonseca Date: Wed, 25 May 2011 22:21:54 +0000 (+0100) Subject: A bit more debugging info when parsing. X-Git-Url: https://git.notmuchmail.org/git?a=commitdiff_plain;h=d524945b8752fa9b021c765af2a485d439dcbf01;p=apitrace A bit more debugging info when parsing. --- diff --git a/trace_parser.cpp b/trace_parser.cpp index 67f31b7..1e00665 100644 --- a/trace_parser.cpp +++ b/trace_parser.cpp @@ -217,42 +217,64 @@ void Parser::parse_arg(Call *call) { Value *Parser::parse_value(void) { int c; + Value *value; c = read_byte(); switch(c) { case Trace::TYPE_NULL: - return new Null; + value = new Null; + break; case Trace::TYPE_FALSE: - return new Bool(false); + value = new Bool(false); + break; case Trace::TYPE_TRUE: - return new Bool(true); + value = new Bool(true); + break; case Trace::TYPE_SINT: - return parse_sint(); + value = parse_sint(); + break; case Trace::TYPE_UINT: - return parse_uint(); + value = parse_uint(); + break; case Trace::TYPE_FLOAT: - return parse_float(); + value = parse_float(); + break; case Trace::TYPE_DOUBLE: - return parse_double(); + value = parse_double(); + break; case Trace::TYPE_STRING: - return parse_string(); + value = parse_string(); + break; case Trace::TYPE_ENUM: - return parse_enum(); + value = parse_enum(); + break; case Trace::TYPE_BITMASK: - return parse_bitmask(); + value = parse_bitmask(); + break; case Trace::TYPE_ARRAY: - return parse_array(); + value = parse_array(); + break; case Trace::TYPE_STRUCT: - return parse_struct(); + value = parse_struct(); + break; case Trace::TYPE_BLOB: - return parse_blob(); + value = parse_blob(); + break; case Trace::TYPE_OPAQUE: - return parse_opaque(); + value = parse_opaque(); + break; default: std::cerr << "error: unknown type " << c << "\n"; exit(1); case -1: - return NULL; + value = NULL; + break; + } +#if TRACE_VERBOSE + if (value) { + std::cerr << "\tVALUE " << value << "\n"; } +#endif + return value; }