From 7dbd13ca391897eaed3ecfd168ee8e7d3608cd0e Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Tue, 1 Jul 2003 20:17:13 +0000
Subject: [PATCH] Minor default format code restructuring for clarity.

---
 src/squeue/opts.c   | 16 +++++------
 src/squeue/squeue.c | 70 ++++++++-------------------------------------
 src/squeue/squeue.h |  1 +
 3 files changed, 21 insertions(+), 66 deletions(-)

diff --git a/src/squeue/opts.c b/src/squeue/opts.c
index f0f6aa1be1f..07028323fc8 100644
--- a/src/squeue/opts.c
+++ b/src/squeue/opts.c
@@ -62,7 +62,6 @@ static char *_get_prefix(char *token);
 static int   _parse_state( char* str, enum job_states* states );
 static void  _parse_token( char *token, char *field, int *field_size, 
                            bool *right_justify, char **suffix);
-static int   _parse_format( char* );
 static void  _print_options( void );
 
 /*
@@ -222,9 +221,6 @@ parse_command_line( int argc, char* argv[] )
 		params.user_list = _build_user_list( params.users );
 	}
 
-	if ( params.format )
-		_parse_format( params.format );
-
 	if ( params.verbose )
 		_print_options();
 
@@ -272,10 +268,14 @@ _parse_state( char* str, enum job_states* states )
 	return SLURM_ERROR;
 }
 
-/* Take the user's format specification and use it to build build the 
- *	format specifications (internalize it to print.c data structures) */
-static int 
-_parse_format( char* format )
+/* 
+ * parse_format - Take the user's format specification and use it to build 
+ *	build the format specifications (internalize it to print.c data 
+ *	structures) 
+ * IN format - user's format specification
+ * RET zero or error code
+ */
+int parse_format( char* format )
 {
 	int field_size;
 	bool right_justify;
diff --git a/src/squeue/squeue.c b/src/squeue/squeue.c
index cb4a08cad2c..c23138dd14c 100644
--- a/src/squeue/squeue.c
+++ b/src/squeue/squeue.c
@@ -126,44 +126,14 @@ _print_job ( void )
 		printf ("last_update_time=%ld\n", 
 		        (long) new_job_ptr->last_update);
 
-	if (params.format_list == NULL) {
-		int out_size = 0;
-		params.format_list = list_create( NULL );
-		job_format_add_job_id( params.format_list, 7, true, " " );
-		out_size += (7 + 1);
-		job_format_add_partition( params.format_list, 9, false, " " );
-		out_size += (9 + 1);
-		job_format_add_name( params.format_list, 8, false, " " );
-		out_size += (8 + 1);
-		job_format_add_user_name( params.format_list, 8, false, " " );
-		out_size += (8 + 1);
-		if (params.long_list) {
-			job_format_add_job_state( params.format_list, 
-			                          8, false, " " );
-			out_size += (8 + 1);
-		} else {
-			job_format_add_job_state_compact( params.format_list, 
-			                                  2, false, " " );
-			out_size += (2 + 1);
-		}
-		job_format_add_time_used( params.format_list, 9, true, " " );
-		out_size += (9 + 1);
-		if (params.long_list) {
-			job_format_add_time_limit( params.format_list, 8, 
-						   true, " " );
-			out_size += (8 + 1);
-		}
-		job_format_add_num_nodes( params.format_list, 6, true, " " );
-		out_size += (6 + 1);
-		/* Leave node list at the end, length is highly variable */
-#ifdef		LINE_LENGTH_LIMITED
-		out_size  = max_line_size - out_size - 1;
-		job_format_add_nodes( params.format_list, out_size, false, 
-		                      NULL );
-#else
-		job_format_add_nodes( params.format_list, 0, false, NULL );
-#endif
+	if (params.format == NULL) {
+		if (params.long_list)
+			params.format = "%.7i %9P %8j %8u %8T %.9M %.8l %.6D %N";
+		else
+			params.format = "%.7i %9P %8j %8u %2t %.9M %.6D %N";
 	}
+	if (params.format_list == NULL)
+		parse_format(params.format);
 
 	print_jobs_array( new_job_ptr->job_array, new_job_ptr->record_count , 
 			params.format_list ) ;
@@ -202,27 +172,11 @@ _print_job_steps( void )
 		printf ("last_update_time=%ld\n", 
 		        (long) new_step_ptr->last_update);
 	
-	if (params.format_list == NULL) {
-		int out_size = 0;
-		params.format_list = list_create( NULL );
-		step_format_add_id( params.format_list, 10, false, " " );
-		out_size += (10 + 1);
-		step_format_add_partition( params.format_list, 9, false, " " );
-		out_size += (9 + 1);
-		step_format_add_user_name( params.format_list, 8, false, " " );
-		out_size += (8 + 1);
-		step_format_add_time_used( params.format_list, 9, 
-					    true, " " );
-		out_size += (11 + 1);
-#ifdef		LINE_LENGTH_LIMITED
-		out_size  = max_line_size - out_size - 1;
-		step_format_add_nodes( params.format_list, out_size, false, 
-			               NULL );
-#else
-		step_format_add_nodes( params.format_list, 0, false, NULL );
-#endif
-	}
-		
+	if (params.format == NULL)
+		params.format = "%.10i %9P %8u %.8M %N";
+	if (params.format_list == NULL)
+		parse_format(params.format);
+
 	print_steps_array( new_step_ptr->job_steps, 
 			   new_step_ptr->job_step_count, 
 			   params.format_list );
diff --git a/src/squeue/squeue.h b/src/squeue/squeue.h
index f8b01ba8742..3fe731acd5f 100644
--- a/src/squeue/squeue.h
+++ b/src/squeue/squeue.h
@@ -88,5 +88,6 @@ struct squeue_parameters {
 extern struct squeue_parameters params;
 
 int parse_command_line( int argc, char* argv[] );
+int parse_format( char* format );
 
 #endif
-- 
GitLab