From 91748b8fa2cb43093a3e9e7ff141a594914b005e Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Tue, 6 May 2003 22:14:33 +0000 Subject: [PATCH] Add support for sorting output by job name. --- src/squeue/opts.c | 1 + src/squeue/print.c | 11 +++++++++++ src/squeue/print.h | 3 +++ 3 files changed, 15 insertions(+) diff --git a/src/squeue/opts.c b/src/squeue/opts.c index e5626af2467..8c97e20eaf5 100644 --- a/src/squeue/opts.c +++ b/src/squeue/opts.c @@ -501,6 +501,7 @@ _print_options() printf( "step_flag %d\n", params.step_flag ); printf( "jobs %s\n", params.jobs ); printf( "partitions %s\n", params.partitions ) ; + printf( "sort %s\n", params.sort ) ; printf( "states %s\n", params.states ) ; printf( "steps %s\n", params.steps ); printf( "users %s\n", params.users ); diff --git a/src/squeue/print.c b/src/squeue/print.c index c78032ff547..3fbdda84ce2 100644 --- a/src/squeue/print.c +++ b/src/squeue/print.c @@ -107,6 +107,8 @@ int print_jobs_array(job_info_t * jobs, int size, List format) continue; else if (params.sort[i] == 'i') sort_job_by_job_id(job_list); + else if (params.sort[i] == 'j') + sort_job_by_job_name(job_list); else if (params.sort[i] == 'p') sort_job_by_priority(job_list); else if (params.sort[i] == 'P') @@ -948,6 +950,15 @@ int _sort_job_by_id(void *void1, void *void2) return job1->job_id - job2->job_id; } +/* sort lower to higher */ +int _sort_job_by_name(void *void1, void *void2) +{ + job_info_t *job1 = (job_info_t *) void1; + job_info_t *job2 = (job_info_t *) void2; + + return strcmp(job1->name, job2->name); +} + /* sort higher to lower */ int _sort_job_by_priority(void *void1, void *void2) { diff --git a/src/squeue/print.h b/src/squeue/print.h index e03cb95a212..b8c1eaf9514 100644 --- a/src/squeue/print.h +++ b/src/squeue/print.h @@ -216,6 +216,8 @@ int _print_step_nodes(job_step_info_t * step, int width, *****************************************************************************/ #define sort_job_by_job_id(list) \ list_sort(list,_sort_job_by_id) +#define sort_job_by_job_name(list) \ + list_sort(list,_sort_job_by_name) #define sort_job_by_priority(list) \ list_sort(list,_sort_job_by_priority) #define sort_job_by_partition(list) \ @@ -226,6 +228,7 @@ int _print_step_nodes(job_step_info_t * step, int width, list_sort(list,_sort_job_by_user) int _sort_job_by_id(void *void1, void *void2); +int _sort_job_by_name(void *void1, void *void2); int _sort_job_by_priority(void *void1, void *void2); int _sort_job_by_partition(void *void1, void *void2); int _sort_job_by_state(void *void1, void *void2); -- GitLab