From c72d0a526828fee47336399ca2748e9e5848c35c Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Fri, 14 Jan 2011 20:53:09 +0000 Subject: [PATCH] correction to job submit, set name and command fields now --- src/sview/job_info.c | 20 ++++++++++++++++++++ src/sview/popups.c | 6 +++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/sview/job_info.c b/src/sview/job_info.c index 2e740bb7dcf..abe2dceb5ae 100644 --- a/src/sview/job_info.c +++ b/src/sview/job_info.c @@ -908,6 +908,26 @@ static const char *_set_job_msg(job_desc_msg_t *job_msg, const char *new_text, job_msg->script = _read_file(new_text); if (job_msg->script == NULL) goto return_error; + if (job_msg->argc) { + for (j = 0; j < job_msg->argc; j++) + xfree(job_msg->argv[j]); + } + xfree(job_msg->argv); + xfree(job_msg->name); + job_msg->argc = 1; + job_msg->argv = xmalloc(sizeof(char *) * job_msg->argc); + if (new_text[0] == '/') { + job_msg->argv[0] = xstrdup(new_text); + token = strrchr(new_text, (int) '/'); + if (token) + job_msg->name = xstrdup(token + 1); + } else { + job_msg->argv[0] = xmalloc(1024); + getcwd(job_msg->argv[0], 1024); + xstrcat(job_msg->argv[0], "/"); + xstrcat(job_msg->argv[0], new_text); + job_msg->name = xstrdup(new_text); + } break; case SORTID_DEPENDENCY: job_msg->dependency = xstrdup(new_text); diff --git a/src/sview/popups.c b/src/sview/popups.c index c254875dc4a..7c914ab3046 100644 --- a/src/sview/popups.c +++ b/src/sview/popups.c @@ -490,7 +490,7 @@ extern void create_create_popup(GtkAction *action, gpointer user_data) GTK_WINDOW(user_data), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, NULL); - int response = 0; + int i, response = 0; GtkWidget *label = NULL; GtkWidget *entry = NULL; GtkTreeModel *model = NULL; @@ -625,6 +625,10 @@ end_it: if (slurm_alloc_msg) slurm_free_submit_response_response_msg(slurm_alloc_msg); if (job_msg) { + for (i = 0; i < job_msg->argc; i++) + xfree(job_msg->argv[i]); + xfree(job_msg->argv); + xfree(job_msg->name); xfree(job_msg->script); xfree(job_msg->work_dir); xfree(job_msg); -- GitLab