From aa1f5c473ff873efaf0b256415711e4da7517924 Mon Sep 17 00:00:00 2001 From: Tim Wickberg <tim@schedmd.com> Date: Mon, 12 Dec 2016 00:20:49 -0500 Subject: [PATCH] Convert print_steps_array() to use list_for_each. Move two functions to static within print.c and slightly alter types to avoid casts with list_for_each calls. Also fixes leak of a ListIterator in print_steps_array(). --- src/squeue/print.c | 27 ++++++++++++++------------- src/squeue/print.h | 3 --- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/squeue/print.c b/src/squeue/print.c index 5aaa9b12a05..bd13fd51c11 100644 --- a/src/squeue/print.c +++ b/src/squeue/print.c @@ -69,6 +69,9 @@ static void _part_state_free(void); static void _part_state_load(void); static int _print_str(char *str, int width, bool right, bool cut_output); +static int _print_job_from_format(void *x, void *arg); +static int _print_step_from_format(void *x, void *arg); + static partition_info_msg_t *part_info_msg = NULL; /***************************************************************************** @@ -84,7 +87,7 @@ int print_jobs_array(job_info_t * jobs, int size, List format) l = list_create(_job_list_del); if (!params.no_header) - print_job_from_format(NULL, format); + _print_job_from_format(NULL, format); _part_state_load(); /* Filter out the jobs of interest */ @@ -122,8 +125,8 @@ int print_jobs_array(job_info_t * jobs, int size, List format) sort_job_list (l); /* Print the jobs of interest */ - list_for_each (l, (ListForF) print_job_from_format, (void *) format); - FREE_NULL_LIST (l); + list_for_each(l, _print_job_from_format, format); + FREE_NULL_LIST(l); return SLURM_SUCCESS; } @@ -131,13 +134,11 @@ int print_jobs_array(job_info_t * jobs, int size, List format) int print_steps_array(job_step_info_t * steps, int size, List format) { if (!params.no_header) - print_step_from_format(NULL, format); + _print_step_from_format(NULL, format); if (size > 0) { int i; List step_list; - ListIterator step_iterator; - job_step_info_t *step_ptr; step_list = list_create(NULL); @@ -151,11 +152,7 @@ int print_steps_array(job_step_info_t * steps, int size, List format) sort_step_list(step_list); /* Print the steps of interest */ - step_iterator = list_iterator_create(step_list); - while ((step_ptr = list_next(step_iterator))) { - print_step_from_format(step_ptr, format); - } - list_iterator_destroy(step_iterator); + list_for_each(step_list, _print_step_from_format, format); FREE_NULL_LIST(step_list); } @@ -405,11 +402,13 @@ static int _print_one_job_from_format(job_info_t * job, List list) return SLURM_SUCCESS; } -int print_job_from_format(squeue_job_rec_t *job_rec_ptr, List list) +static int _print_job_from_format(void *x, void *arg) { static int32_t max_array_size = -1; int i, i_first, i_last; bitstr_t *bitmap; + squeue_job_rec_t *job_rec_ptr = (squeue_job_rec_t *) x; + List list = (List) arg; if (!job_rec_ptr) { _print_one_job_from_format(NULL, list); @@ -2063,8 +2062,10 @@ int _print_job_mcs_label(job_info_t * job, int width, /***************************************************************************** * Job Step Print Functions *****************************************************************************/ -int print_step_from_format(job_step_info_t * job_step, List list) +static int _print_step_from_format(void *x, void *arg) { + job_step_info_t *job_step = (job_step_info_t *) x; + List list = (List) arg; ListIterator i = list_iterator_create(list); step_format_t *current; int total_width = 0; diff --git a/src/squeue/print.h b/src/squeue/print.h index 4df2e0a35c7..c29df3ffa34 100644 --- a/src/squeue/print.h +++ b/src/squeue/print.h @@ -77,9 +77,6 @@ int print_steps_list(List steps, List format); int print_jobs_array(job_info_t * jobs, int size, List format); int print_steps_array(job_step_info_t * steps, int size, List format); -int print_job_from_format(squeue_job_rec_t * job_rec_ptr, List list); -int print_step_from_format(job_step_info_t * job_step, List list); - /***************************************************************************** * Job Line Format Options *****************************************************************************/ -- GitLab