diff --git a/src/smap/job_functions.c b/src/smap/job_functions.c index 66d2311b8d01192d6127fbaedc8769bc6482a0d4..adb7caf685afa99b96ffab22c325a2c79a8506b3 100644 --- a/src/smap/job_functions.c +++ b/src/smap/job_functions.c @@ -101,28 +101,28 @@ void print_header_job(void) { mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, smap_info_ptr->xcord, "ID"); - smap_info_ptr->xcord += 4; + smap_info_ptr->xcord += 3; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "JOBID"); + smap_info_ptr->xcord, " JOBID"); smap_info_ptr->xcord += 7; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, smap_info_ptr->xcord, "PARTITION"); - smap_info_ptr->xcord += 11; + smap_info_ptr->xcord += 10; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, smap_info_ptr->xcord, "USER"); - smap_info_ptr->xcord += 8; + smap_info_ptr->xcord += 9; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, smap_info_ptr->xcord, "NAME"); smap_info_ptr->xcord += 10; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, smap_info_ptr->xcord, "ST"); - smap_info_ptr->xcord += 4; + smap_info_ptr->xcord += 3; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "TIME"); - smap_info_ptr->xcord += 10; + smap_info_ptr->xcord, " TIME"); + smap_info_ptr->xcord += 11; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, smap_info_ptr->xcord, "NODES"); - smap_info_ptr->xcord += 7; + smap_info_ptr->xcord += 6; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, smap_info_ptr->xcord, "NODELIST"); smap_info_ptr->xcord = 1; @@ -140,27 +140,28 @@ int print_text_job(job_info_t * job_ptr) int width = 0; struct passwd *user = NULL; long days, hours, minutes, seconds; + char time_buf[20]; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, smap_info_ptr->xcord, "%c", job_ptr->num_procs); - smap_info_ptr->xcord += 4; + smap_info_ptr->xcord += 3; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%d", job_ptr->job_id); + smap_info_ptr->xcord, "%6d", job_ptr->job_id); smap_info_ptr->xcord += 7; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%s", job_ptr->partition); - smap_info_ptr->xcord += 11; + smap_info_ptr->xcord, "%.10s", job_ptr->partition); + smap_info_ptr->xcord += 10; user = getpwuid((uid_t) job_ptr->user_id); mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%s", user->pw_name); - smap_info_ptr->xcord += 8; + smap_info_ptr->xcord, "%.8s", user->pw_name); + smap_info_ptr->xcord += 9; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%s", job_ptr->name); + smap_info_ptr->xcord, "%.9s", job_ptr->name); smap_info_ptr->xcord += 10; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%s", + smap_info_ptr->xcord, "%.2s", job_state_string_compact(job_ptr->job_state)); - smap_info_ptr->xcord += 4; + smap_info_ptr->xcord += 3; time = smap_info_ptr->now_time - job_ptr->start_time; seconds = time % 60; @@ -169,22 +170,25 @@ int print_text_job(job_info_t * job_ptr) days = time / 86400; if (days) - mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%ld:%2.2ld:%2.2ld:%2.2ld", - days, hours, minutes, seconds); + snprintf(time_buf, sizeof(time_buf), + "%ld:%2.2ld:%2.2ld:%2.2ld", + days, hours, minutes, seconds); else if (hours) - mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%ld:%2.2ld:%2.2ld", hours, - minutes, seconds); + snprintf(time_buf, sizeof(time_buf), + "%ld:%2.2ld:%2.2ld", + hours, minutes, seconds); else - mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%ld:%2.2ld", minutes, - seconds); + snprintf(time_buf, sizeof(time_buf), + "%ld:%2.2ld", minutes,seconds); + width = strlen(time_buf); + mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, + smap_info_ptr->xcord + (10 - width), "%s", + time_buf); + smap_info_ptr->xcord += 11; - smap_info_ptr->xcord += 10; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%d", job_ptr->num_nodes); - smap_info_ptr->xcord += 7; + smap_info_ptr->xcord, "%5d", job_ptr->num_nodes); + smap_info_ptr->xcord += 6; tempxcord = smap_info_ptr->xcord; width = smap_info_ptr->text_win->_maxx - smap_info_ptr->xcord; while (job_ptr->nodes[i] != '\0') { diff --git a/src/smap/partition_functions.c b/src/smap/partition_functions.c index fe883b41d53e08805e959dce37fad9095fe0969e..1dab9b165811b3539a4cec1584509d1ed5e1dd60 100644 --- a/src/smap/partition_functions.c +++ b/src/smap/partition_functions.c @@ -175,13 +175,13 @@ int print_text_part(partition_info_t * part_ptr) int prefixlen; int i = 0; int width = 0; - char *nodes; + char *nodes, time_buf[20]; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, smap_info_ptr->xcord, "%c", part_ptr->root_only); smap_info_ptr->xcord += 4; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%s", part_ptr->name); + smap_info_ptr->xcord, "%.9s", part_ptr->name); smap_info_ptr->xcord += 10; if (part_ptr->state_up) mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, @@ -191,15 +191,30 @@ int print_text_part(partition_info_t * part_ptr) smap_info_ptr->xcord, "DOWN"); smap_info_ptr->xcord += 7; if (part_ptr->max_time == INFINITE) - mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "UNLIMITED"); - else - mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%u", part_ptr->max_time); - + snprintf(time_buf, sizeof(time_buf), "UNLIMITED"); + else { + long minutes, hours, days; + minutes = part_ptr->max_time % 60; + hours = (part_ptr->max_time / 60) % 24; + days = (part_ptr->max_time / (24 * 60)); + if (days) + snprintf(time_buf, sizeof(time_buf), + "%ld:%2.2ld:%2.2ld:00", + days, hours, minutes); + else if (hours) + snprintf(time_buf, sizeof(time_buf), + "%ld:%2.2ld:00", hours, minutes); + else + snprintf(time_buf, sizeof(time_buf), + "%ld:00", minutes); + } + width = strlen(time_buf); + mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, + smap_info_ptr->xcord + (9 - width), "%s", + time_buf); smap_info_ptr->xcord += 11; mvwprintw(smap_info_ptr->text_win, smap_info_ptr->ycord, - smap_info_ptr->xcord, "%d", part_ptr->total_nodes); + smap_info_ptr->xcord, "%5d", part_ptr->total_nodes); smap_info_ptr->xcord += 7; tempxcord = smap_info_ptr->xcord;