mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
rtla: Introduce for_each_action() helper
The for loop to iterate over the list of actions is used in more than one place. To avoid code duplication and improve readability, introduce a for_each_action() helper macro. Replace the open-coded for loops with the new helper. Signed-off-by: Wander Lairson Costa <wander@redhat.com> Link: https://lore.kernel.org/r/20260106133655.249887-4-wander@redhat.com Signed-off-by: Tomas Glozar <tglozar@redhat.com>
This commit is contained in:
parent
2a3a25336b
commit
648634d17c
|
|
@ -32,7 +32,9 @@ void
|
|||
actions_destroy(struct actions *self)
|
||||
{
|
||||
/* Free any action-specific data */
|
||||
for (struct action *action = self->list; action < self->list + self->len; action++) {
|
||||
struct action *action;
|
||||
|
||||
for_each_action(self, action) {
|
||||
if (action->type == ACTION_SHELL)
|
||||
free(action->command);
|
||||
if (action->type == ACTION_TRACE_OUTPUT)
|
||||
|
|
@ -223,7 +225,7 @@ actions_perform(struct actions *self)
|
|||
int pid, retval;
|
||||
const struct action *action;
|
||||
|
||||
for (action = self->list; action < self->list + self->len; action++) {
|
||||
for_each_action(self, action) {
|
||||
switch (action->type) {
|
||||
case ACTION_TRACE_OUTPUT:
|
||||
retval = save_trace_to_file(self->trace_output_inst, action->trace_output);
|
||||
|
|
|
|||
|
|
@ -42,6 +42,11 @@ struct actions {
|
|||
struct tracefs_instance *trace_output_inst;
|
||||
};
|
||||
|
||||
#define for_each_action(actions, action) \
|
||||
for ((action) = (actions)->list; \
|
||||
(action) < (actions)->list + (actions)->len; \
|
||||
(action)++)
|
||||
|
||||
void actions_init(struct actions *self);
|
||||
void actions_destroy(struct actions *self);
|
||||
int actions_add_trace_output(struct actions *self, const char *trace_output);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user