From: Alvaro Herrera <alvhe...@alvh.no-ip.org> > In pqTraceOutputString(), you can use the return value from fprintf to > move the cursor -- no need to count chars.
Yes, precisely, 2 bytes for the double quotes needs to be subtracted as follows: len = fprintf(...); *cursor += (len - 2); > I still think that the message-type specific functions should print the > message type, rather than having the string arrays. I sort of think so to remove the big arrays. But to minimize duplicate code, I think the code structure will look like: fprintf(timestamp, length); switch (type) { case '?': pqTraceOutput?(...); break; case '?': /* No message content */ fprintf("message_type_name"); break; } void pqTraceOutput?(...) { fprintf("message_type_name"); print message content; } The order of length and message type is reversed. The .sgml should also be changed accordingly. What do you think? Iwata-san, Why don't you submit v27 patch with the current arrays kept, and then v28 with the arrays removed soon after? From: Kyotaro Horiguchi <horikyota....@gmail.com> > It would help when the value is "255", which is confusing between -1 > (or 255) in byte or 255 in 2-byte word. Or when the value looks like > broken. I'd suggest "b"yte for 1 byte, "s"hort for 2 bytes, "l"ong for > 4 bytes ('l' is confusing with '1', but anyway it is not needed).. I don't have a strong opinion on this. (I kind of think I want to see unprefixed numbers; readers will look at the protocol reference anyway.) I'd like to leave this up to Iwata-san and Alvaro-san. Regards Takayuki Tsunakawa}