Commit 648634d1 authored by Wander Lairson Costa's avatar Wander Lairson Costa Committed by Tomas Glozar
Browse files

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: default avatarWander Lairson Costa <wander@redhat.com>
Link: https://lore.kernel.org/r/20260106133655.249887-4-wander@redhat.com


Signed-off-by: default avatarTomas Glozar <tglozar@redhat.com>
parent 2a3a2533
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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);
+5 −0
Original line number Diff line number Diff line
@@ -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);