diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-02-02 17:47:05 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-02-02 17:47:05 +0000 |
commit | faa2b3a3ad9217b0bde341f50a398515aefd703a (patch) | |
tree | 19c987394bb5a01bdf597582cc7826583bcfa743 /gtk2_ardour/midi_tracer.cc | |
parent | 18087e555d26342d27a0b58694f3eefe74a82471 (diff) |
fixup some issues with the miditracer
git-svn-id: svn://localhost/ardour2/branches/3.0@6625 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_tracer.cc')
-rw-r--r-- | gtk2_ardour/midi_tracer.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gtk2_ardour/midi_tracer.cc b/gtk2_ardour/midi_tracer.cc index e78271e01d..c757ea3fff 100644 --- a/gtk2_ardour/midi_tracer.cc +++ b/gtk2_ardour/midi_tracer.cc @@ -105,7 +105,7 @@ MidiTracer::tracer (Parser&, byte* msg, size_t len) s = strftime (buf, bufsize, "%H:%M:%S", &now); bufsize -= s; - s = snprintf (&buf[s], bufsize, ".%-9" PRId64, (int64_t) tv.tv_usec); + s += snprintf (&buf[s], bufsize, ".%-9" PRId64, (int64_t) tv.tv_usec); bufsize -= s; switch ((eventType) msg[0]&0xf0) { @@ -190,18 +190,19 @@ MidiTracer::tracer (Parser&, byte* msg, size_t len) s += snprintf (&buf[s], bufsize, "%16s %02x\n", "Sysex", (int) msg[1]); break; } - bufsize -= s; + } else { - s += snprintf (&buf[s], bufsize, " %16s (%d) = [", "Sysex", (int) len); + + s += snprintf (&buf[s], bufsize, "%16s (%d) = [", "Sysex", (int) len); bufsize -= s; - for (unsigned int i = 0; i < len && s < sizeof (buf)-3; ++i) { + for (unsigned int i = 0; i < len && bufsize > 3; ++i) { if (i > 0) { s += snprintf (&buf[s], bufsize, " %02x", msg[i]); } else { s += snprintf (&buf[s], bufsize, "%02x", msg[i]); } - bufsize = sizeof (buf) - s; + bufsize -= s; } s += snprintf (&buf[s], bufsize, "]\n"); } |