From: Wander Lairson Costa <wander@redhat.com>
To: Steven Rostedt <rostedt@goodmis.org>,
Tomas Glozar <tglozar@redhat.com>,
Wander Lairson Costa <wander@redhat.com>,
Crystal Wood <crwood@redhat.com>,
Ivan Pravdin <ipravdin.official@gmail.com>,
Costa Shulyupin <costa.shul@redhat.com>,
John Kacur <jkacur@redhat.com>,
Tiezhu Yang <yangtiezhu@loongson.cn>,
Daniel Bristot de Oliveira <bristot@kernel.org>,
Daniel Wagner <dwagner@suse.de>,
linux-trace-kernel@vger.kernel.org (open list:Real-time Linux
Analysis (RTLA) tools),
linux-kernel@vger.kernel.org (open list:Real-time Linux Analysis
(RTLA) tools),
bpf@vger.kernel.org (open list:BPF
[MISC]:Keyword:(?:\b|_)bpf(?:\b|_))
Subject: [PATCH v4 10/18] rtla: Add str_has_prefix() helper function
Date: Mon, 9 Mar 2026 16:46:23 -0300 [thread overview]
Message-ID: <20260309195040.1019085-11-wander@redhat.com> (raw)
In-Reply-To: <20260309195040.1019085-1-wander@redhat.com>
Add a str_has_prefix() helper function that tests whether a string
starts with a given prefix. This function provides a cleaner interface
for prefix matching compared to using strncmp() with strlen() directly.
The function returns a boolean value indicating whether the string
starts with the specified prefix. This helper will be used in
subsequent changes to simplify prefix matching code throughout rtla.
Also add the missing string.h include which is needed for the strlen()
and strncmp() functions used by str_has_prefix() and the existing
strncmp_static() macro.
Signed-off-by: Wander Lairson Costa <wander@redhat.com>
---
tools/tracing/rtla/src/utils.h | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/tools/tracing/rtla/src/utils.h b/tools/tracing/rtla/src/utils.h
index 3bca53ee48db6..165d6d0a0c6ab 100644
--- a/tools/tracing/rtla/src/utils.h
+++ b/tools/tracing/rtla/src/utils.h
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
#include <stdint.h>
+#include <string.h>
#include <time.h>
#include <sched.h>
#include <stdbool.h>
@@ -24,6 +25,18 @@
/* Compare string with static string, length determined at compile time */
#define strncmp_static(s1, s2) strncmp(s1, s2, ARRAY_SIZE(s2))
+/**
+ * str_has_prefix - Test if a string has a given prefix
+ * @str: The string to test
+ * @prefix: The string to see if @str starts with
+ *
+ * Returns: true if @str starts with @prefix, false otherwise
+ */
+static inline bool str_has_prefix(const char *str, const char *prefix)
+{
+ return strncmp(str, prefix, strlen(prefix)) == 0;
+}
+
#define container_of(ptr, type, member)({ \
const typeof(((type *)0)->member) *__mptr = (ptr); \
(type *)((char *)__mptr - offsetof(type, member)) ; })
--
2.53.0
next prev parent reply other threads:[~2026-03-09 19:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-09 19:46 [PATCH v4 00/18] rtla: Robustness and code quality improvements Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 01/18] rtla: Exit on memory allocation failures during initialization Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 02/18] rtla: Use strdup() to simplify code Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 03/18] rtla/actions: Simplify argument parsing Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 04/18] rtla: Introduce common_threshold_handler() helper Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 05/18] rtla: Replace magic number with MAX_PATH Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 06/18] rtla: Simplify code by caching string lengths Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 07/18] rtla: Add strscpy() and replace strncpy() calls Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 08/18] rtla/timerlat: Add bounds check for softirq vector Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 09/18] rtla: Handle pthread_create() failure properly Wander Lairson Costa
2026-03-09 19:46 ` Wander Lairson Costa [this message]
2026-03-09 19:46 ` [PATCH v4 11/18] rtla: Use str_has_prefix() for prefix checks Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 12/18] rtla: Enforce exact match for time unit suffixes Wander Lairson Costa
2026-03-12 12:17 ` Tomas Glozar
2026-03-09 19:46 ` [PATCH v4 13/18] rtla: Use str_has_prefix() for option prefix check Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 14/18] rtla/timerlat: Simplify RTLA_NO_BPF environment variable check Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 15/18] rtla/trace: Fix write loop in trace_event_save_hist() Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 16/18] rtla/trace: Fix I/O handling in save_trace_to_file() Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 17/18] rtla/utils: Fix resource leak in set_comm_sched_attr() Wander Lairson Costa
2026-03-09 19:46 ` [PATCH v4 18/18] rtla/utils: Fix loop condition in PID validation Wander Lairson Costa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260309195040.1019085-11-wander@redhat.com \
--to=wander@redhat.com \
--cc=bpf@vger.kernel.org \
--cc=bristot@kernel.org \
--cc=costa.shul@redhat.com \
--cc=crwood@redhat.com \
--cc=dwagner@suse.de \
--cc=ipravdin.official@gmail.com \
--cc=jkacur@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=tglozar@redhat.com \
--cc=yangtiezhu@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox