Message ID | 20250227202618.54073-1-devosruben6@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | libtraceevent: Add support for \t char in print fmt | expand |
diff --git a/src/event-parse.c b/src/event-parse.c index f2e50b0..06dfd52 100644 --- a/src/event-parse.c +++ b/src/event-parse.c @@ -1307,7 +1307,7 @@ static enum tep_event_type __read_token(struct tep_handle *tep, char **tok) /* Break out if the file is corrupted and giving non print chars */ if (ch <= 0) break; - } while ((ch != quote_ch && isprint(ch)) || last_ch == '\\' || ch == '\n'); + } while ((ch != quote_ch && isprint(ch)) || last_ch == '\\' || ch == '\n' || ch == '\t'); /* remove the last quote */ i--;
Events can have \t characters in their print format strings. An example is the smb3_cmd_done event from the cifs module. It has print format string: "\tsid=0x%llx tid=0x%x cmd=%u mid=%llu", ... Add \t as an accepted character in the while loop that parses the format string. This prevents the "[FAILED TO PARSE]" message and imporperly parsed output in `trace-cmd report`. Link: https://bugzilla.kernel.org/show_bug.cgi?id=219688 Signed-off-by: Ruben Devos <devosruben6@gmail.com> --- src/event-parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)