diff mbox series

libtraceevent: Add support for \t char in print fmt

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

Commit Message

Ruben Devos Feb. 27, 2025, 8:26 p.m. UTC
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(-)
diff mbox series

Patch

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--;